Предупреждение PHP: POST Content-Длина n байтов превышает ограничение 3145728 байтов в Неизвестно в строке 0
Я весьма удивлен, обнаружив вышеупомянутую ошибку в моем журнале ошибок, потому что я думал, что уже проделал необходимую работу для обнаружения ошибки в моем PHP-скрипте:
if ($_FILES['image']['error'] == 0)
{
// go ahead to process the image file
}
else
{
// determine the error
switch($_FILES['image']['error'])
{
case "1":
$msg = "Uploaded file exceeds the upload_max_filesize directive in php.ini.";
break;
....
}
}
В моем скрипте PHP.ini соответствующие настройки:
memory_limit = 128M
post_max_size = 3M
upload_max_filesize = 500K
Я понимаю, что 3M эквивалентен 3145728 байтам, и именно это вызывает ошибку. Если размер файла превышает 500 КБ, но меньше 3 МБ, сценарий PHP сможет работать в обычном режиме, выдав сообщение об ошибке в$msg
согласноcase 1
.
Как отловить эту ошибку, вместо того, чтобы позволить скрипту внезапно завершиться с предупреждением PHP, когда размер сообщения превышаетpost_max_size
но все еще хорошо в пределах памяти? Я смотрел на подобные вопросыВот, Вот а такжеВот, но не смог найти ответ.