Эта тема на forum.dklab.ru


phoenix: "gd-jpeg, libjpeg: recoverable error: Corrupt JPEG data" у некоторых фотографий
Столкнулся с такой проблемой - если у фотографии не потёрны метаданные, некоторые из них функции по работе с изображениями считают порчеными (хотя любые графические редакторы с этой фотографией работают нормально). К выводу о том, что проблема в метаданных, пришёл после пересохранения той же фотографии с их затиранием (через ACDSee) - после этого фото обрабатывается нормально (хотя не исключаю, что проблема может быть уже).
Подозреваю, что с ImageMagick проблем бы не было, но это решение не подходит ввиду неуниверсальности.

Вот примеры ошибок:

Notice: imagecreatefromjpeg() [function.imagecreatefromjpeg]: gd-jpeg, libjpeg: recoverable error: Corrupt JPEG data: 2329 extraneous bytes before marker 0xed

var_dump(getimagesize($img_filename));
//bool(false)


Может быть, кто-нибудь встречал подобную проблему? Если ли какое-то решение?
На всякий случай злополучное фото - в аттаче.
Юрий Насретдинов:
phoenix
Да, у меня GD также валится. При этом генератор превьшекфайл Mac OS X показывает "битый" thumbnail. Есть подозрения, что мета-данные у Вас действительно испорчены и не до конца записаны.
dimagolov:
Почитайте тут http://phpclub.ru/talk/showthread.php?s=&threadid=104726&highlight=gd

GD валится с ошибкой "gd-jpeg, libjpeg: recoverable error: Corrupt JPEG data: 2329 extraneous bytes before marker 0xed", PHP Version 5.2.5 win32 GD Version bundled (2.0.34 compatible), чуть позже обновлю php на FreeBSD и проверю
phoenix:
Ну, более менее понятно, всем спасибо.
Поставил эту заплатку
ini_set('gd.jpeg_ignore_warning', 1);
но, конечно, конкретно моей проблемы это не решило, т.к. версия старовата, да и в идеале нужен универсальный метод.
Полагаю проблему неразрешимой, буду предлагать юзерам просто пересохранять чем-нибудь фотографию.

Эта тема на forum.dklab.ru