У меня есть установка 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) Проверьте пространство на диске
В вашей системе должно быть достаточно места на диске
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) работал для меня.
Вероятно, вы пытались создать образ из jpeg
который не является jpeg
.
У меня такая же ошибка, когда я тестировал скрипт эскизов в PHP . Затем я обнаружил, что заголовок моего входного файла был png
хотя его расширение было .jpg
.
Итак, я отредактировал свой скрипт, чтобы при возникновении ошибки при создании изображения из jpeg
он пытается создать его из png
(или gif
если возникнет другая ошибка) .
У меня такая же ошибка. Но теперь я решил ту же проблему.
Ответ: Мы загружаем 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);
Вы должны использовать функцию, чтобы правильно определить тип изображения mime. Изображение png, которое имеет расширение jpg, приведет к этой ошибке.
Чтобы избежать этой ошибки, вы должны получить правильный тип изображения mime .
function GetImage($path) { $mime = mime_content_type($path); switch($mime) { 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; }