Данные $ _FILES и $ _POST пустые при загрузке определенных файлов

Я заметил, что в зависимости от видео, которое я загружаю, иногда весь $_POST а также $_FILES массив будет пустым. Это странное явление, но я нашел его в нескольких видео. Ради тестирования видео, которые я использовал, все video/mp4 тип файла.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<?php
var_dump($_POST);
var_dump($_FILES);
?>
<form method="post" action="" enctype="multipart/form-data">

<input type="file" name="attachment">
<input type="text" name="other">
<button type="submit" class="save" value="Save Changes">Upload that file!</button>
</form>

</body>
</html>

Выход хорошего видео

Array
(
[other] => testing string
)
Array
(
[attachment] => Array
(
[name] => Shasta.mp4
[type] => video/mp4
[tmp_name] => /private/var/tmp/phpAoDLKi
[error] => 0
[size] => 4688949
)

)

В то время как плохой запрос отображает следующее

Array
(
)
Array
(
)

Я изменил свой php.ini, чтобы разрешить загрузку файлов размером до 50 МБ, файлы, с которыми я тестирую, составляют 4,7 МБ и 10,2 МБ. Я полностью озадачен, в чем причина, имена видеофайлов Shasta.mp4 (хороший файл) и Bulova_Watches.mp4 (плохой файл).

При необходимости я могу загрузить файлы на сайт, чтобы другие могли их протестировать.

5

Решение

Проблема, с которой вы сталкиваетесь, связана с тем, что post_max_size установлен в 8M по умолчанию в вашем php.ini,
Как ваш файл 10.4MB вы сталкиваетесь со следующей ошибкой:

POST Content-Length из 10237675 байтов превышает ограничение 8388608
байт в Неизвестно

Потому что вы достигли этого предела.
Хитрость в исправлении этого — просто увеличить этот предел, изменив значение. Вы можете просто изменить его прямо в своем файле php.ini на любой другой, то есть 20M.

Или вы можете установить его через свой .htaccess файл с:

php_value post_max_size 20M
php_value upload_max_filesize 20M

Примечание: я также добавил необходимые upload_max_filesize что вам потребуется для больших файлов 🙂

6

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]