抑制php imagecreatefromjpeg错误

时间:2018-02-28 18:22:26

标签: php gd libjpeg php-7.1 error-suppression

我有一个处理上传的jpgs的脚本,无论出于何种原因,某些jpgs似乎不符合imagecreatefromjpeg的任何期望。我怀疑它与全景图像有关,但没有时间追逐它。我准备跳过有缺陷的jpgs,支持99%的工作正常。但是,我似乎无法让我的脚本移动通过其中一个打嗝。每当这些有缺陷的jpg中的一个上传到文件池中时,我都会收到内联错误消息:

Error Number: 8
Error Description: imagecreatefromjpeg(): gd-jpeg, libjpeg: recoverable error: Invalid SOS parameters for sequential JPEG

知道这可能会发生什么吗?我已经做了我能想到的一切,以防止错误使这个操作脱轨......但是,我们在这里。

$filename = './uploads/'.$uniqIDStr.'.jpg';
move_uploaded_file($tmpfile, $filename);
$imageResource = false;
try{
ini_set('gd.jpeg_ignore_warning', true);
$imageResource = @imagecreatefromjpeg($filename);
if(!$imageResource){$imageResource= 
@imagecreatefromstring(file_get_contents($filename));}
} catch (Exception $e) {
echo 'Rejecting ' . $fileupload['name'] . ' because the file has some 
confusing properties...' . $e->getMessage(); 
unlink($filename);
}
if($imageResource!=false){/***....***/} 

Click here for example jpg that derails everything

1 个答案:

答案 0 :(得分:0)

将PHP设置为忽略jpeg警告

ini_set('gd.jpeg_ignore_warning',1);

在调用imagecreatefromjpeg()之前的行上