Подтвердить что ты не робот

Предупреждение: 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' ) ) )
4b9b3361

Ответ 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;
}