Я потратил часы, пытаясь решить эту проблему, но ничего не помогло. Я пытаюсь загрузить CSV-файл размером 0,5 КБ.
Это моя HTML-форма:
<form action = "" method = "post" enctype = "multipart/form-data">
<input type = "file" name = "file">
<input type = "submit" value = "Upload">
</form>
Массив $_FILES остается пустым после отправки:
var_dump($_FILES); // array(0) { }
Массив $_POST получает имя файла csv:
var_dump($_POST); // array(1) { ["file"]=> string(11) "numbers.csv" }
Из файла php.ini: (два нижних закомментированы в файле)
file_uploads = On
upload_max_filesize = 2M
max_file_uploads = 20
;upload_tmp_dir =
;sys_temp_dir = "/tmp"
Завивка в папке /var/tmp (если актуально)
drwxr-xr-x 8 root root 4096
Спасибо! Я никогда не думал, что с DOM возникнут какие-то проблемы. Оказывается, я использовал вложенные теги форм, что запрещено в HTML.






Плохо, что я не знал, что мой тег формы заключен внутри другого тега формы.
Не допускается:
<form>
<form>
</form>
</form>
Проверьте запрос в своем браузере, убедитесь, что он не изменен скриптами/расширениями.