Библиотека GD не поддерживает JPEG, не удается отобразить миниатюры - PullRequest
1 голос
/ 24 января 2012

Это мой код:

if (function_exists('gd_info')) {
    $gda = gd_info();
    $gd['version'] = $gda['GD Version'];
    //$gd['num'] = ereg_replace('[[:alpha:][:space:]()]+','',$gda['GD Version']);
    $gd['freetype'] = $gda["FreeType Support"];
    $gd['gif_read'] = $gda["GIF Read Support"];
    $gd['gif_make'] = $gda["GIF Create Support"];
    //$gd['jpg'] = $gda["JPG Support"];
    $gd['png'] = $gda["PNG Support"];

В закомментированной строке выданы ошибки:

Функция ereg_replace () устарела

Неопределенный индекс: поддержка JPG

Я использую XAMPP 1.7.7

Кто-нибудь знает, как это исправить?

Я пытался добиться создания эскизов изображений в формате JPEG.Теперь, когда я прокомментировал эти строки.Я не могу отобразить эскизы.

Любая помощь приветствуется.

Ответы [ 3 ]

3 голосов
/ 24 января 2012

ereg-функции устарели в PHP 5.3 в пользу PCRE-функций . Я не знаком с синтаксисом ereg, но похоже, что он может быть эквивалентен preg_replace('/[a-zA-Z ()]+/', '', $gda['GD Version']).

Кроме того, закомментированная строка должна выглядеть следующим образом: $gd['jpg'] = $gda["JPEG Support"];, т.е. JPEG с E.

2 голосов
/ 24 января 2012

Запустите phpinfo(); и посмотрите, что написано в разделе «Поддержка JPEG». Возможно, у gd-index есть другое имя.

Если это отключено, убедитесь, что в вашей системе есть libjpeg и что gd был скомпилирован с поддержкой для него.

0 голосов
/ 15 марта 2013

Я знаю, что уже поздно, но если у кого-то еще возникла такая же проблема, используйте код ниже:

if (function_exists('gd_info')) {
    $gda = gd_info();
    $gd['version'] = $gda['GD Version'];
    $gd['num'] = preg_replace('/[a-zA-Z\s()]+/','',$gda['GD Version']);
    $gd['freetype'] = $gda["FreeType Support"];
    $gd['gif_read'] = $gda["GIF Read Support"];
    $gd['gif_make'] = $gda["GIF Create Support"];
    $gd['jpg'] = $gda["JPEG Support"];
    $gd['png'] = $gda["PNG Support"];

Это должно исправить это очень хорошо.

...