我有一个处理上传的 jpg 的脚本,无论出于何种原因,一些 jpg 似乎不符合 imagecreatefromjpeg 的任何期望。我怀疑它与全景图像有关,但还没有时间追查它。我准备跳过有缺陷的 jpgs,支持 99% 的工作正常。但是,我似乎无法让我的脚本通过这些小问题之一。每次将这些有缺陷的 jpg 之一上传到文件池中时,我都会收到一条内联错误消息:
错误编号:8
错误描述:imagecreatefromjpeg(): gd-jpeg, libjpeg: 可恢复错误:顺序 JPEG 的 SOS 参数无效
知道这里可能发生了什么吗?我已经做了我能想到的一切来防止错误使这个操作脱轨......然而,我们到了。
$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){/***....***/}