Не читаются _некоторые_ JPEG из GD

bakh

Абалдуй
Не читаются _некоторые_ JPEG из GD

Имеем Агаву, халявную...
Делаю там галерею картинков и превьюшки генерю через GD...
Но тут заметил, что не у всех картинок она генерится...
Порыскал по сему форуму, нашёл невразумительное письмо про "размер больше 64Кб"... Не поверил... Проверил - поверил...
Но не до конца... :)
Т.е. некоторые картинки явно больше 64Кб изумительно грузятся и ресайзятся... А некоторые - фига два...
Дабы не быть голословным:
ресайзится (108Кб) и не ресайзится (61Кб) ...
Думаю, что это мне лично не побороть, но хоть объясните, что это такое?.. В чём, так сказать, принцип (не)действия?..

GD Support enabled
GD Version bundled (2.0.15 compatible)
JPG Support enabled
 

anight

Новичок
phpinfo покажи ?
и, кстати, картинки по указанным ссылкам не существуют.
вылазит e.gif (1x1 точку)
 

bakh

Абалдуй
Автор оригинала: anight
phpinfo покажи ?
GD Support enabled
GD Version bundled (2.0.15 compatible)
JPG Support enabled

Думаю, что этой информации достаточно... :)

А вот почему эта фигова Агава не даёт смотерть рисунки таким образом - фиг его знает... :(

Можно так: ресайзится (108Кб) и не ресайзится (61Кб)
 

tony2001

TeaM PHPClub
bakh
>Думаю, что этой информации достаточно...
нет, не достаточно.
 

tony2001

TeaM PHPClub
bakh
сообщения об ошибках?
записи в логах?
что-то из этого есть?
 

bakh

Абалдуй
сообщения об ошибках?
записи в логах?
что-то из этого есть?
Ни-че-го...
В апачевских логах - тишина, а где агава держит php-шный лог - фиг её знает...
 

tony2001

TeaM PHPClub
тогда что такое "не ресайзится"?
там же не написано "картинка %s не ресайзится"?

-~{}~ 05.04.04 18:45:

вообще, желательно, test case готовый: небольшой рабочий код + проблемная картинка.
 

bakh

Абалдуй
вообще, желательно, test case готовый: небольшой рабочий код + проблемная картинка.
Ок... Это у нас код такой:
PHP:
<?
  header("Content-type: image/jpeg");

  $g_imgcomp = 25;
  $g_srcfile = $_SERVER["DOCUMENT_ROOT"].$_GET["file"];
  $g_fw = 160;
  $g_fh = 120;

  if(file_exists($g_srcfile)) 
  {
    list($width, $height) = getimagesize($g_srcfile);
    $g_iw = round(($width * $g_fh) / $height);

    if ($g_iw > $g_fw) {
      $g_iw = $g_fw;
      $g_ih = round(($height * $g_fw) / $width);
    } else {
      $g_ih = $g_fh;
    }
    
    $img_src = imagecreatefromjpeg($g_srcfile);
    $img_dst = imagecreatetruecolor($g_iw, $g_ih);
    imagecopyresampled($img_dst, $img_src, 0, 0, 0, 0, $g_iw, $g_ih, $width, $height);
    imageinterlace($img_dst, 1); // progressive jpeg
    imagejpeg($img_dst, '', $g_imgcomp);
    imagedestroy($img_dst);
  }
?>
А проблемные картинки - зайди на мою страницу с фотографиями и выбери любую. которая не отображается... :)
 

tony2001

TeaM PHPClub
>header("Content-type: image/jpeg");
если эту строку убрать и зайти на скрипт, который ресайзит - что напишет? (если все хорошо - код картинки выдаст)
 

bakh

Абалдуй
Автор оригинала: tony2001
>header("Content-type: image/jpeg");
если эту строку убрать и зайти на скрипт, который ресайзит - что напишет? (если все хорошо - код картинки выдаст)
Если скрипт отрабатывает, то идёт тело файла...
Если нет, то понятия не имею... :) У агавы отработка отсутствующих файлов одна - перенаправление на свой "каталог"...
Ладно, давай забьём до завтра, я дома на локальной машине посмотрю... У меня на работе средствов нету... :)
 

tony2001

TeaM PHPClub
>Если нет, то понятия не имею...
не понял.

>У агавы отработка отсутствующих файлов одна
а причем тут это?
 

bakh

Абалдуй
>Если нет, то понятия не имею...
не понял.
Я не вижу прямого вывод из скрипта, т.к....

>У агавы отработка отсутствующих файлов одна
а причем тут это?
...агава считает, что файл по данной ссылке (т.е. в нашем понимании - результат работы скрипта) отсутствует...
 

anight

Новичок
у них стоит защита от линкования картинок на чужие сайты (как я понял)
так что в данном случае можно просмотреть результат работы скрипта через
<iframe src="script.php?file=test.jpg"></iframe>
(например)

ну и header content-type image/jpeg закоментарить конечно
 

bakh

Абалдуй
Вот ведь прикол:
поставил на работе apache2 + php5rc1... Там всё работает, как надо... Даже не интересно как-то... :\

-~{}~ 06.04.04 15:35:

у них стоит защита от линкования картинок на чужие сайты (как я понял)
Не-а... С этим как раз легко...
Они не дают ставить обработчики error404 и перенаправляют всё, чего нету, на свой драный каталог...
так что в данном случае можно просмотреть результат работы скрипта через
<iframe src="script.php?file=test.jpg"></iframe>
Те же коки, вид сбоку...

-~{}~ 14.04.04 12:34:

Это всё-таки бага GD2...
У Агавы GD Version bundled (2.0.15 compatible) - не работает...
У Фатала GD Version bundled (2.0.17 compatible) - всё отлично работает...
 
Сверху