2012-02-16 4 views
7

Si bien la posibilidad de subir la imagen que estoy recibiendo este error: (máximo de 8 MB una imagen)¿Cómo puedo detectar este error? (POST Content-Length ...)

Warning: POST Content-Length of 14259306 bytes exceeds the limit of 8388608 bytes in Unknown on line 0 

¿Cómo puedo mostrar este mensaje customly? Quiero decir que quiero poner ese error en estilo CSS. gracias ....

Respuesta

7

En caso de errores comunes, debe configurar el manejador de errores. Ver here para más detalles. PERO

If errors occur before the script is executed (e.g. on file uploads) the custom error handler cannot be called since it is not registered at that time.

+0

Este es un aviso importante que no se puede coger el error en el PHP –

5
if ($_SERVER['CONTENT_LENGTH'] < 8380000) { 
... your code 
} else { 
    ... Your Error Message 
} 

También puede aumentar el tamaño máximo en el php.ini

post_max_size = 60M 
upload_max_filesize = 60M 
+2

Todavía recibo la advertencia ... –

-4

Wrap la carga en un try/catch. Capture el error y maneje dentro de CATCH.

try { 
    :: file upload :: 
} catch (Exception $e) { 
    echo 'Caught exception: ', $e->getMessage(), "\n"; 
} 
+0

no funciona ... :( –

+0

No arroja una excepción, genera una advertencia de php. Esto solo funcionaría si usa 'set_error_handler' para usar una función personalizada que arroje excepciones cuando los errores de PHP son generado – prodigitalson

+0

Tienes razón. ¿Has probado la solución de Kevin? –

7

Tal vez quieras probar algo como esto.

if (isset($_SERVER["CONTENT_LENGTH"])) 
if($_SERVER["CONTENT_LENGTH"]>((int)ini_get('post_max_size')*1024*1024)) 
die('<script type="text/javascript">window.open("some page youre gonna handle the 
error","_self"); 
</script>'); 
+2

Todavía me aparece la advertencia ... –

0

Uso the answer de @ Batu-Zet para comprobar en el código y luego asegurarse de display_errors está apagado en su php.ini archivo:

display_errors=Off 
Cuestiones relacionadas