您是否发现有时它会在 imagecreatefromjpeg() 在错误的 JPEG 上运行时挂起 php。我发现这是因为你使用的 JPEG 文件没有 EOI(图像结尾)FF D9 在你的 JPEG 结尾
JPEG 图像应以 0xFFD8 开头并以 0xFFD9 结尾
// this may help to fix the error
function check_jpeg($f, $fix=false )
{
# check for jpeg file header and footer - also try to fix it
if ( false !== (@$fd = fopen($f, 'r+b' )) ){
if ( fread($fd,2)==chr(255).chr(216) ){
fseek ( $fd, -2, SEEK_END );
if ( fread($fd,2)==chr(255).chr(217) ){
fclose($fd);
return true;
}else{
if ( $fix && fwrite($fd,chr(255).chr(217)) ){return true;}
fclose($fd);
return false;
}
}else{fclose($fd); return false;}
}else{
return false;
}
}