Я пытаюсь загрузить несколько файлов с помощью 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 < $no_files; $i++) { if ($_FILES["files"]["error"][$i] != 0) { move_uploaded_file($_FILES["files"]["tmp_name"][$i], 'uploads/' . $_FILES["files"]["name"][$i]); } } */ break; case 'download-file': break; default: exit(json_encode(['success'=>false, 'message'=>'InvalidActionException'])); } 
  Я могу успешно загрузить максимум 20 файлов . 
  Моя проблема в том, что я не могу загрузить более 20 файлов.  Каждый раз, когда я пытаюсь загрузить более 20 файлов, загружаются только первые 20 загрузок.  Выход из сценария, как показано только, указывает на 
  size = 20. Может кто-то поможет мне понять и понять, почему это так и решение этой проблемы.