Не рисует график GD!

phpusershik

Using PHP
Не рисует график GD!

Я раскоментировал php_gd2.dll. Система Apache 1.3.28 php 4.3.3
Но дополнительных модулей не устанавливал. И вот даже такой простой скрипт не запускается:
<?php
Header("Content-type: image/png");
$str = "Some string";
$im = imagecreate(400,30);
$black = ImageColorAllocate($im, 0,0,0);
$white = ImageColorAllocate($im, 255,255,255);
imageFill($im, 0, 0, $white);
imagettftext($im, 15, 0, 10, 20, $black, 'fonts/lucon.ttf', $str);
ImagePng($im);
ImageDestroy($im);
?>
А вместо графика красный маленкий квадрат. Что делать?
 

si

Administrator
убрать временно header и посмотреть что выводит скрипт
 

phpusershik

Using PHP
Я убрал но то же самое как было

Я зделал так:
<?php

$str = "Some string";
$im = imagecreate(400,30);
$black = ImageColorAllocate($im, 0,0,0);
$white = ImageColorAllocate($im, 255,255,255);
imageFill($im, 0, 0, $white);
imagettftext($im, 15, 0, 10, 20, $black, 'fonts/lucon.ttf', $str);
ImagePng($im);
ImageDestroy($im);
?>
Но ничего не подействовал ему? А может какието ещё библиотеки надо установить?
 

si

Administrator
надо напрямую открыть урл в бровсере а не через <img>
 

phpusershik

Using PHP
Извини как это... как прямо?

Я набираю вот так:
localhost/sample.php

А он выводит маленький красный квадратик - вроде когда страница не может загрузит картинку вроде этого.
А насчёт другого я не понял если можно плиз немного пояснее. :(
 

phpusershik

Using PHP
Посмотрел оба

В error.log ошибок относящихся к нему нету а в access.log есть такой:
127.0.0.1 - - [11/Oct/2003:15:25:18 +0500] "GET /sample.php HTTP/1.1" 200 269
 

phpusershik

Using PHP
Мой phpinfo....

Зделал phpinfo(); а там:

gd

GD Support enabled
GD Version bundled (2.0.15 compatible)
FreeType Support enabled
FreeType Linkage with freetype
GIF Read Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled
XBM Support enabled

apache

Apache for Windows 95/NT

Apache Version Apache/1.3.24

А у меня апачи 1.3.28 может быть из за этого?
 

si

Administrator
127.0.0.1 - - [11/Oct/2003:15:25:18 +0500] "GET /sample.php HTTP/1.1" 200 269
значит скрипт чтото отдает бровсеру, если вы убрали header в Content-Type, он должен это показать как html документ, а не как картинку, добейтесь этого.
 

phpusershik

Using PHP
Он выдал Warning:

Я удалил Header и поменял названия файла он мне выдал вот такую ошибку на браузере:

Warning: imagettftext(): Could not find/open font in c:\program files\apache group\apache\htdocs\sf1.php on line 8
‰PNG  IHDRђ8јЪ“PLTEяяяҐЩџЭIDATxњcшO2`Х2ЄeTЛЁ–Q-CY х-ЦpвВ‚&IEND®B`‚

А когда я ставлю Header на место то он на браузере выводит квадрат вроде того как он не может загрузить фотографию.
 

phpusershik

Using PHP
Но он не может загрузить шрифт но у меня код такой:
<?php

$str = "Some string";
$im = imagecreate(400,30);
$black = ImageColorAllocate($im, 0,0,0);
$white = ImageColorAllocate($im, 255,255,255);
imageFill($im, 0, 0, $white);
imagettftext($im, 15, 0, 10, 20, $black, 'fonts/arial.ttf', $str);
ImagePng($im);
ImageDestroy($im);
?>
я взял и поменял шрифт на arial.ttf но все равно то же пишет warning. Потому-что на моем компе есть такой шрифт в операционной системе.
 

Krisha

pain in the neck
а что тебе мешает положить файл шрифта вместе со скриптом и написать:

imagettftext($im, 15, 0, 10, 20, $black, 'arial.ttf', $str);
 

phpusershik

Using PHP
Так тоже не помог

Я взял из системы шрифт arila.ttf и скопировал в дир где находится мой пхп файл htdocs/
Но то же Warning:
Перезапустил апачи все то же самое.
 

si

Administrator
1. Добейся отображения картинки без надписи
2. Укажи полный путь к фонту.
 

phpusershik

Using PHP
Изображение показывает а вот надпись нет?

Если убрать imagettftext то изображение отображается нормально. А если добавит то ни то и ни другое не показывает.
Полный путь написал и так и сяк а ему по фиг не показывает вот и все.
 

si

Administrator
А если добавит то ни то и ни другое не показывает.
Полный путь написал и так и сяк а ему по фиг не показывает вот и все.
теперь понятно где проблема, или на пальцах надо обьяснить ? Покажи как ты пути прописывал ...
 

phpusershik

Using PHP
Знаеш и то как заработал график

Нет знаеш и то как заработал график странным образом! т.е. я открыл через браузер файл sample.php он мне выдал красный квадрат в углу. Я открыл этот файл на Дримвевере и всё внутренность перенёс надругой файл с другим именем и убрал переменных шрифтов. И тогда он мне открыл его через браузер. Но когда я перезапустил апач то он не открыл и если я опят открою и опять повторю вышеописанное то он его опять откроет! Что то странно может я опять переустановлю свой пхп не как модуль а как отдельная программа.
А путь вот такой:
imagettftext($im, 15, 0, 10, 20, $black,"arial.ttf", $str);
т.е. Я arial.ttf перенёс в тот каталог где и лежит мой php файл
 

phpusershik

Using PHP
Но и это не помогает.

imagettftext($im, 15, 0, 10, 20, $black, 'C:\Program Files\Apache Group\Apache\htdocs\arial.ttf', $str);
Но все равно слеш и так и сяк написал все равно красный квадрат. А если делать как я описал в предедущем вставка этого кода в ново созданный пусто пхп файл он отображается и предедущую ошибку пишет:
Warning: imagettftext(): Could not find/open font in c:\program files\apache group\apache\htdocs\s4.php on line 8
‰PNG  IHDRђ8јЪ“PLTEяяяҐЩџЭIDATxњcшO2`Х2ЄeTЛЁ–Q-CY х-ЦpвВ‚&IEND®B`‚
А после рестарта опят красный квадрат.Как будто он блокируется. Не понятно что эта такое.
 
Сверху