0

我有一个处理上传的 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){/***....***/} 

单击此处例如 jpg 使一切脱轨

4

1 回答 1

0

设置 PHP 以忽略 jpeg 警告

ini_set ('gd.jpeg_ignore_warning', 1);

在调用 imagecreatefromjpeg() 之前上线

于 2019-03-24T17:06:33.470 回答