Страница 1 из 1

косяк с gd php

Добавлено: 2008-02-20 23:35:37
catdog_
поставил из портов, все ок
простейший пример

Код: Выделить всё

header("Content-type: image/png");
$im = ImageCreate(100,20);
$red = ImageColorAllocate($im, 255, 0, 0);
$white = ImageColorAllocate($im, 255, 255, 255);
ImageString($im, 3, 3, 3, "Super!!!", $white);
ImagePng($im);
ImageDestroy($im);
картинку не рисует, а выдает кучу кракозябров в браузере(лиса)

?PNG ??? IHDR???d??????A ж???PLTEЪ??ЪЪЪA4???DIDAT?c`?Ю??<иd·?qMЕ8?ъ8МЛ8?qsзъdча????kн"ДЬЕ*<?ШQyd?n$?z?

типа такого, че не так?

Re: косяк с gd php

Добавлено: 2008-02-20 23:55:01
paranoidchaos
то картинка в текстовом документе так выглядет

у тя либпнг хоть есть ?

Re: косяк с gd php

Добавлено: 2008-02-21 0:15:12
catdog_
это отдельная библиотека? в портах че та не вижу

Код: Выделить всё

pkg_info | grep png
gstreamer-plugins-libpng-0.10.6_2,3 Gstreamer png plugin
png-1.2.22          Library for manipulating PNG images

Re: косяк с gd php

Добавлено: 2008-02-21 0:18:13
paranoidchaos
при компиляции пхп с кд библиотекой надо указывать пути где лежат библиотеки (из портов пути устанавливаются по дефолту)

так же по дефолту если установить мускульный к примеру екстеншен и библиотеки мускула находятся в другом место то пхп и с мускулом работать не будет

пхп инфо посмотри там помоему нфа о гд екстеншене должна быть

Re: косяк с gd php

Добавлено: 2008-02-21 8:53:31
zg
catdog_ писал(а):поставил из портов, все ок
простейший пример

Код: Выделить всё

header("Content-type: image/png");
$im = ImageCreate(100,20);
$red = ImageColorAllocate($im, 255, 0, 0);
$white = ImageColorAllocate($im, 255, 255, 255);
ImageString($im, 3, 3, 3, "Super!!!", $white);
ImagePng($im);
ImageDestroy($im);
картинку не рисует, а выдает кучу кракозябров в браузере(лиса)
контент тайп пишется с заглавными буквами (Content-Type), это раз
картинка выдаётся нормально, сохрани её в файл и она у тебя откроется это два

Re: косяк с gd php

Добавлено: 2008-02-23 4:24:28
BlackCat
zg писал(а):контент тайп пишется с заглавными буквами (Content-Type)
Это не обязательное условие, с "Content-type" то же будет работать.
=====
catdog_ писал(а):картинку не рисует, а выдает кучу кракозябров
Тут два варианта: или браузер не знает такого MIME типа "image/png" или заголовок так и не был отправлен, т.е. неправильно отработала строка "header("Content-type: image/png");". php что нить в логи пишет?

Re: косяк с gd php

Добавлено: 2008-02-23 7:39:59
zg
BlackCat писал(а):
zg писал(а):контент тайп пишется с заглавными буквами (Content-Type)
Это не обязательное условие, с "Content-type" то же будет работать.
нууу.. не совсем так, почитал я щас HTTP1.1 там сказано что регистронезависимы только значения, про сами названия полей загловка ничего не нашёл, но они указаны там как регистрозаивисимые
BlackCat писал(а):Тут два варианта: или браузер не знает такого MIME типа "image/png" или заголовок так и не был отправлен, т.е. неправильно отработала строка "header("Content-type: image/png");". php что нить в логи пишет?
у меня было пару раз - ослик картинку не выдавал, вылечилось сменой имени файла.

Re: косяк с gd php

Добавлено: 2008-02-23 9:36:25
catdog_
мне собственна капчу нужно было сообразить, потом нашел готовое решение в инете и не стал велосипед изобретать

Re: косяк с gd php

Добавлено: 2008-02-24 11:14:12
risk94
собири пхп отак:

Код: Выделить всё

./configure--with-mysql --with-apxs=/usr/local/sbin/apxs --with-gd=/usr/local --with-jpeg-dir --with-png-dir --with-zlib-dir 
минимум. Буш сразу знать какие пакеты дополнительно необходимо. и фсе запаказуит