使用AJAX和PHP上传多个文件
我正在尝试使用ajax和php上传多个文件。 JavaScript和Ajax代码如下;
$(document).on('click', '#UploadButton', function(e) { var form = new FormData(); var files = document.getElementsByClassName('receipts'); for (var i=0; i<files.length; i++) { form.append("files[receipt" + i + "]", files[i][0]); // add receipt to form } form.append('action', 'upload-receipts'); // specify action $.ajax({ url: 'handler.php', type: 'POST', data: form, cache: false, processData: false, contentType: false, success:function(data) { console.log(data); }, error: function(xhr, desc, err) { // I have some error handling logic here } }); });
PHP处理程序例程如下;
$action = $_REQUEST['action']; switch($action) { case 'upload-receipts': $files = $_FILES['files']; $no_files = count($_FILES["files"]['name']); exit(json_encode(['size'=>$no_files])); /* for ($i = 0; $i false, 'message'=>'InvalidActionException'])); }
我能够成功上传最多20个文件 。
我的问题是我无法上传超过20个文件。 每次我尝试上传超过20个文件时,只有前20个文件上传其余文件失败。 退出脚本如图所示仅表示
size = 20.有人可以帮助我理解并确定为什么会出现这种情况并解决这个问题。