Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Не хочет работать GD библиотека в php

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Веб-программинг] >> Не хочет работать GD библиотека в php
Имя
Сообщение << Старые топики   Новые топики >>
Не хочет работать GD библиотека в php - 2010-02-21 22:23:53.333333   
mscrack

Сообщений: 118
Оценки: 0
Присоединился: 2009-03-15 15:07:33.266666
Привет всем. Суть проблемы такова. В php.ini раскоментировал строку extension=php_gd2.dll. Прописал путь к Apache все работает phpinfo() выводит что GD подключено. Пишу пробный скрипт чтоб проверить GD но он не работает. Вот скрипт: &lt;?php //Устанавливаем отображение сообщений об ошибках ini_set ("display_errors", "1"); error_reporting(E_ALL); //Устанавливаем тип содержимого header('content-type: image/png'); //Определяем размеры изображения //125px width, 125px height $image = imagecreate(125, 125); //Выбираем цвет фона $blue = imagecolorallocate($image, 0, 0, 255); //Устанавливаем еще один цвет – просто чтобы убедиться, что при отображении рисунка фоновым будет именно цвет, установленный первым () //Обратите внимание – квадрат будет синего, а не красного цвета. $red = imagecolorallocate($image, 255, 0, 0); //Сохраняем файл в формате png и выводим его imagepng($image); //Чистим использованную память imagedestroy($image); ?&gt; В браузере вижу следующее:


в браузере мозила выводится ошибка:
The image http://example/Untitled-1.php cannot be displayed? because it contains errors
Браузер Google выводит тоже самое что и Opera без каких либо ошибок
Safari выводит меленький квадрат синего цвета с вопросом.
А Explorer вообще чушь какую то выводит… В чем может быть проблема? подскажите…
Post #: 1
RE: Не хочет работать GD библиотека в php - 2010-02-22 12:33:39.346666   
Parano1d

Сообщений: 423
Оценки: 0
Присоединился: 2008-05-21 13:40:17.093333
наверное потому что картинка пустая. заполни её чем-нибудь. чёрный квадрат нарисуй)
Post #: 2
RE: Не хочет работать GD библиотека в php - 2010-02-22 14:28:27.603333   
Agent Smith

Сообщений: 976
Оценки: 0
Присоединился: 2007-04-10 21:56:49.593333
Возможно у вас не подключена библиотека GD.
<? echo phpinfo()?> Посмотите что выдаст. Есть увидите, что DG - disabled или вообще её нету, значит нужно лезть в конфиг php. Если у вас денвер, то он находится по дефолту здесь: C:\WebServers\usr\local\php5
и найти строку extension=php_gd2.dll. Дале убрать перед ней точку с запятой.
Если у вас не денвер, то советую установить денвер. Хотя, я понимаю, что меня сейчас грубо раскритикуют, мол денвер - это для тупых и ленивых, но каждому выберать свое.
Post #: 3
RE: Не хочет работать GD библиотека в php - 2010-02-22 14:55:23.440000   
Parano1d

Сообщений: 423
Оценки: 0
Присоединился: 2008-05-21 13:40:17.093333
Agent Smith, тебя раскритикуют за то, что ты не прочитал полностью, что тс писал. он написал, что подключил gd и phpinfo его выводит
Post #: 4
RE: Не хочет работать GD библиотека в php - 2010-02-22 15:30:52.370000   
mscrack

Сообщений: 118
Оценки: 0
Присоединился: 2009-03-15 15:07:33.266666
quote:

наверное потому что картинка пустая. заполни её чем-нибудь. чёрный квадрат нарисуй)

А разве эта строчка не должна закрасить квадрат в синий цвет?
//Выбираем цвет фона $blue = imagecolorallocate($image, 0, 0, 255); Да кстати сервер собирал сам. Искал в инете но ничего не нашел.. В чем может быть ошибка? Пробовал всекие скрипты которые показывают какие модули загружены и какие работают, все показывали что GD работает..
Вот что phpinfo выдает о GD:
GD Support enabled GD Version bundled (2.0.34 compatible) FreeType Support enabled FreeType Linkage with freetype FreeType Version 2.3.9 GIF Read Support enabled GIF Create Support enabled JPEG Support enabled libJPEG Version 6b PNG Support enabled libPNG Version 1.2.37 WBMP Support enabled XBM Support enabled Может версию GD сменить?
Post #: 5
RE: Не хочет работать GD библиотека в php - 2010-02-22 16:02:46.163333   
Agent Smith

Сообщений: 976
Оценки: 0
Присоединился: 2007-04-10 21:56:49.593333
quote:

ORIGINAL: mscrack
Может версию GD сменить?
Сменить версию? Интересно на какую))
Извините, что не дочитал до конца. Я протестил ваш скрипт. У меня все прекрасно работает. Значит, проблема в вашем сервере.
Давайте я вам расскажу, как действует GD:
Вы генерируете картинку при помощи функций, хотя в действительности генерируется код картинки, который выводится в браузер так же, как вы выводите в браузер echo "Hello World". То есть если вы выводите в браузер до этого ещё что-то, то код, который генерирует скрипт будет не верный для браузера, то есть он не будет восприниматься как код картинки. Но, тут есть одна заковыва: вы можете вывести что-то в браузер не вызывая функцию echo или print.
На пример у вас скрипт Untitled-1.php начинается с пробела или с абзаца, а уж после этого начинавет <?php и т.д.
Возможно преблама в этом.
Post #: 6
RE: Не хочет работать GD библиотека в php - 2010-02-22 16:45:11.893333   
Parano1d

Сообщений: 423
Оценки: 0
Присоединился: 2008-05-21 13:40:17.093333
quote:

А разве эта строчка не должна закрасить квадрат в синий цвет?
//Выбираем цвет фона
$blue = imagecolorallocate($image, 0, 0, 255);

и действительно. вообще эта функция возвращает идентификатор для этого цвета и изображения. но при вызове её первый раз она делает фон изображения…

quote:

На пример у вас скрипт Untitled-1.php начинается с пробела или с абзаца, а уж после этого начинавет &lt;?php и т.д.
Возможно преблама в этом.

вполне возможно. тс, попробуй посмотреть исходник генерируемой страницы, может там что-нибудь ненужное есть… мб
Post #: 7
RE: Не хочет работать GD библиотека в php - 2010-02-22 16:48:50.376666   
oRb

Сообщений: 4044
Оценки: 597
Присоединился: 2007-03-28 18:45:06.630000
Может все таки убрать header и посмотреть, что за ошибки пишет интерпретатор?
Post #: 8
RE: Не хочет работать GD библиотека в php - 2010-02-22 20:03:35.016666   
mscrack

Сообщений: 118
Оценки: 0
Присоединился: 2009-03-15 15:07:33.266666
quote:

На пример у вас скрипт Untitled-1.php начинается с пробела или с абзаца, а уж после этого начинавет &lt;?php и т.д.
Возможно преблама в этом.

Просмотрел скрипт удалил все лишние теги и тд и все заработало!!! ))) Спасибо большое всем кто принял участие в обсуждении.

У меня еще один вопрос. Почему не работает этот скрипт:
&lt;?php $random_string = mt_rand(1000,9999); $_SESSION['random_string'] = $random_string; $font = imageloadfont("arial.ttf"); // подставьте сюда имя шрифта который вы будете использовать if (!$font) $random_string = "FONT NOT FOUND"; $fontWidth = imagefontwidth($font); $fontHeight = imagefontheight($font); $width = strlen($random_string) * $fontWidth; $height = $fontHeight; $img = @ImageCreate ($width, $height) or die ("Cannot Initialize new GD image stream"); $background_color = imagecolorallocate($img, 255, 255, 255); $text_color = imagecolorallocate($img, 0, 0, 0); imagestring($img, $font, 0, 0, $random_string, $text_color); $img2 = @ImageCreate ($width, $height) or die ("Cannot Initialize new GD image stream"); $x=1; $i=0; // собственно сам алгоритм: while ($x&lt;$width) { // идем по X-су и копируем кусочки $xx = mt_rand(1,2); // c этим промежутком можно поиграть $yy = mt_rand(5,10); // c этим промежутком можно поиграть $i=$i+($xx/10); // шаг для Sin-уса $y = ceil(sin($i)*$yy);// смещение по Y-ку imagecopy ($img2, $img, $x, $y, $x, 0, 1, $height); // копирование кусочка $x++; } // отправляем заголовки для предотвращения кэширования /*header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header("Cache-Control: no-store, no-cache, must-revalidate"); header ("Content-type: image/png");*/ ImagePng ($img2); imagedestroy($img2); imagedestroy($img);?&gt; Убрал header как говорил oRb вот какие ошибки выдает интерпретатор:
Warning: imageloadfont() [function.imageloadfont]: gd warning: product of memory allocation multiplication would exceed INT_MAX, failing operation gracefully in F:\WEBSERVER\server\example\htdocs\functions\security.php on line 60 Warning: imageloadfont() [function.imageloadfont]: Error reading font, invalid font header in F:\WEBSERVER\server\example\htdocs\functions\security.php on line 60 ‰PNG  IHDR Думал из за шрифта пробовал другие но ошибки как были так и остались… В чем дело, почему не работает ?
Post #: 9
Страниц:  [1]
Все форумы >> [Веб-программинг] >> Не хочет работать GD библиотека в php







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.