Предупреждение 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 но все еще хорошо в пределах памяти? Я смотрел на подобные вопросыВот, Вот а такжеВот, но не смог найти ответ.

Ответы на вопрос(2)

Ваш ответ на вопрос