imagecreatefromjpeg() 関数を使用して、アップロード フォーム経由で画像をアップロードしています。
$folder = '../images/';
$image = imagecreatefromjpeg($_FILES['image']['tmp_name']);
$new = imagecreatetruecolor(300, 300);
imagecopyresampled($new, $image, 0, 0, 0, 0, 300, 300, 150, 150);
imagejpeg($new, $folder, 100);
ほとんどの写真は正常にアップロードされますが、次のエラーが表示されるものもあります。
警告: imagecreatefromjpeg() [function.imagecreatefromjpeg]: gd-jpeg、libjpeg: 回復可能なエラー: 破損した JPEG データ: マーカー 0xed の前に 756 余分なバイト
すべてではありませんが、一部の「.jpeg」ファイルで発生するようです。「.jpg」ファイルで問題が発生するのを見たことはありませんが、問題が「.jpeg」ファイルに限定されているかどうかはわかりません。問題のファイルの拡張子を「.jpeg」から「.jpg」に変更すると、問題なく動作することに気付きました。
PHP で imagecreatefromjpeg() 関数を使用すると、「破損した JPEG データ」というメッセージが表示されるのはなぜですか?