0

アップロードされた jpg を処理するスクリプトがありますが、何らかの理由で、いくつかの jpg が imagecreatefromjpeg の期待に準拠していないようです。パノラマ画像に関連していると思われますが、追跡する時間がありませんでした. 問題なく動作する 99% の jpg を優先して、欠陥のある jpg をスキップする準備ができています。ただし、これらの問題のいずれかを通過してスクリプトを動かすことができないようです。必ず、これらの欠陥のある 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

JPEG 警告を無視するように PHP を設定する

ini_set ('gd.jpeg_ignore_warning', 1);

imagecreatefromjpeg() を呼び出す直前の行

于 2019-03-24T17:06:33.470 に答える