Advertencia de PHP: el contenido de la POST de n bytes supera el límite de 3145728 bytes en Desconocido en la línea 0

Me sorprende bastante encontrar el error mencionado anteriormente en mi registro de errores porque pensé que ya había realizado el trabajo necesario para detectar el error en mi script 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;
  ....
 }
}

En mi script PHP.ini, las configuraciones relevantes son:

memory_limit = 128M
post_max_size = 3M
upload_max_filesize = 500K

Entiendo que el 3M es equivalente a 3145728 bytes y que esto es lo que está provocando el error. Si el tamaño del archivo es superior a 500k pero menor a 3M, la secuencia de comandos PHP podría ejecutarse normalmente, emitiendo el mensaje de error en$msg segúncase 1.

¿Cómo detecto este error en lugar de dejar que el script finalice abruptamente con una advertencia de PHP cuando el tamaño de la publicación supera?post_max_size ¿Pero aún dentro del límite de memoria? He mirado preguntas similaresaquí, aquí yaquí, pero no pudo encontrar una respuesta.

Respuestas a la pregunta(2)

Su respuesta a la pregunta