Nuestra error_log de apache Recientemente se llena con una línea similar a la siguiente (alrededor de 50 GB):oportunidad para la función de desempaquetado
[Wed Feb 01 16:50:15 2012] [error] [client 123.123.123.123] PHP Warning:
unpack() [<a href='function.unpack'>function.unpack</a>]:
Type V: not enough input, need 4, have 1
in /var/www/vhosts/domain.com/httpdocs/imagecreatefrombmp.php on line 52
Línea 52 en imagecreatefrombmp.bmp es el siguiente:
$COLOR = unpack("V",substr($IMG,$P,3).$VIDE);
Esta línea está enterrada en un bucle while.
Si vuelve a ocurrir este problema, quiero que el código salga silenciosamente del ciclo while.
El problema es que no puedo replicar el problema yo mismo, así que tengo que resolverlo a ciegas.
He ideado la siguiente pequeña solución. Serviría para el propósito? Si se produce el error "Tipo V no ingresado ...", ¿atraparía el bloque try catch y devolvería false?
try{
$COLOR = unpack("V",substr($IMG,$P,3).$VIDE);
}catch (Exception $e) {
return FALSE;
}
Compruebe esto http://stackoverflow.com/a/1241751/1164491 – Cheery
Las advertencias y excepciones no están relacionadas. –
@ Cheery: Por favor, siga adelante y vote para cerrar si encuentra un duplicado. –