Предупреждение: imagejpeg() [function: imagejpeg]: gd-jpeg: библиотека JPEG сообщает о неустранимой ошибке
У меня есть установка wordpress в корневой папке,
до вчерашнего дня он работал нормально, но сегодня он дает следующую ошибку для того, чтобы угадать генерации уменьшенных изображений,
Warning: imagejpeg() [function:imagejpeg]: gd-jpeg: JPEG library reports unrecoverable error: in public_html/wp-includes/media.php on line 459
Есть ли у кого-нибудь идеи относительно этого предупреждения?
Пожалуйста, помогите мне
следующий код находится в строке 459
if ( !imagejpeg( $newimage, $destfilename, apply_filters( 'jpeg_quality', $jpeg_quality, 'image_resize' ) ) )
Ответы
Ответ 1
1) Проверьте пробел на диске
Ваша система должна иметь достаточное дисковое пространство
2) Проверьте ограничение памяти
Задайте больше памяти в вашем php:
ini_set("memory_limit","256M");
3) Проверьте параметры post_max_size и upload_max_filesize
Задайте больше в файле htaccess:
php_value post_max_size 16M
php_value upload_max_filesize 6M
4) положите @перед функцией
@imagejpeg(..............);
Пункт 1) работал у меня.
Ответ 2
Вероятно, вы попытались создать образ из jpeg
, который не является jpeg
.
У меня такая же ошибка, когда я тестировал миниатюру script в PHP.
Затем я обнаружил, что заголовок моего входного файла был png
, хотя его расширение было .jpg
.
Итак, я отредактировал мой script, чтобы при возникновении ошибки при создании образа из jpeg
он пытался создать его из png
(или gif
, если возникла другая ошибка).
Ответ 3
У меня такая же ошибка. Но теперь я решил ту же проблему.
Ответ: Мы загружаем png и конвертируем в jpg.
Пожалуйста, проверьте, работает ли jpg. И нам нужно преобразовать png в jpg, чтобы другие функции были доступны, пожалуйста, проверьте их.
Ниже код будет полезен для преобразования изображений с использованием библиотеки GD.
//variable declare or parameter use
$originalImage ="1.jpg";
$quality=100; // for jpg good quality
$outputImage; //for source file save.
// jpg, png, gif or bmp?
$exploded = explode('.',$originalImage);
$ext = $exploded[count($exploded) - 1];
if (preg_match('/jpg|jpeg/i',$ext))
$imageTmp=imagecreatefromjpeg($originalImage);
else if (preg_match('/png/i',$ext))
$imageTmp=imagecreatefrompng($originalImage);
else if (preg_match('/gif/i',$ext))
$imageTmp=imagecreatefromgif($originalImage);
else if (preg_match('/bmp/i',$ext))
$imageTmp=imagecreatefrombmp($originalImage);
else
return 0;
// quality is a value from 0 (worst) to 100 (best)
imagejpeg($imageTmp, $outputImage, $quality);
imagedestroy($imageTmp);
Ответ 4
Вы должны использовать функцию для правильного определения типа изображения mime. Изображение png с расширением jpg приведет к этой ошибке.
Чтобы избежать этой ошибки, вы должны получить правильный тип mime изображения.
function getImage($path) {
switch(mime_content_type($path)) {
case 'image/png':
$img = imagecreatefrompng($path);
break;
case 'image/gif':
$img = imagecreatefromgif($path);
break;
case 'image/jpeg':
$img = imagecreatefromjpeg($path);
break;
case 'image/bmp':
$img = imagecreatefrombmp($path);
break;
default:
$img = null;
}
return $img;
}