Задать вопрос
@nata32

Как исправить Warning: imagecreatefromjpeg(): gd-jpeg: JPEG library?

Добрый день, конвертирую в цикле картинки из jpg и png в webp, периодически дает ошибку
Warning: imagecreatefromjpeg(): gd-jpeg: JPEG library reports unrecoverable error: Not a JPEG file: starts with 0x52 0x49

ошибка по этой строке
$img = imageCreateFromJpeg($save_to_path);

насколько я понимаю картинка должна быть jpg, а она непонятно что.
прописала проверки.
if (pathinfo($image, PATHINFO_EXTENSION)=='jpg') {
                    if ($file_type=='image/jpeg'||$file_type=='image/pjpeg') {
                                       $info = pathinfo($save_to_path);
                                       $img = imageCreateFromJpeg($save_to_path);
                                       imageWebp($img, $info['dirname'] . '/' . $info['filename'] . '.' . 'webp', 100);

но все равно лезет эта ошибка.
Что еще можно проверить на соответствие что бы если не проходит то картинка игнорируется ?
  • Вопрос задан
  • 132 просмотра
Подписаться 1 Простой 9 комментариев
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
$info = getimagesize($image);
if ($info['mime'] === 'image/jpeg') {
    ...
}

А сигнатура 0x52 0x49 соответствует формату webp.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы