@Soft_touch_plastic

Почему в $_FILES только последний файл из отправленных массивом?

Здравствуйте, есть форма в которой можно выбрать много файлов (multiple="true"). Все файлы записываю в объект FormData и отправляю на сервер, но там, в $_FILES только последний почему то файл.
html:
<input type="file" name="file" id="file-input" multiple="true">

js:
var fd = new FormData();    
                for (var i = 0; i < input.files.length; i++) {
                    fd.append('file', input.files[i]);
                }

                $.ajax({
                    url: 'server.php',
                    data: fd,
                    processData: false,
                    contentType: false,
                    type: 'POST',
                    success: function(data){
                        console.log(data);
                    }
                });


php:
var_dump($_FILES);
Последнее возвращает лишь:
array(1) {
  ["file"]=>
  array(5) {
    ["name"]=>
    string(14) "myypdf (5).pdf"
    ["type"]=>
    string(15) "application/pdf"
    ["tmp_name"]=>
    string(56) "some\php_upload\php6133.tmp"
    ["error"]=>
    int(0)
    ["size"]=>
    int(428652)
  }
}
  • Вопрос задан
  • 123 просмотра
Решения вопроса 1
no_one_safe
@no_one_safe
for (var i = 0; i < input.files.length; i++) {
                    fd.append('file['+i+']', input.files[i]);
                }
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
qant
@qant
programer
name="file" а нужно name="file[]"
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы