Не хочет работать GD библиотека в php
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
Не хочет работать 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 но он не работает. Вот скрипт:
<?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);
?> В браузере вижу следующее: в браузере мозила выводится ошибка: The image http://example/Untitled-1.php cannot be displayed? because it contains errors Браузер Google выводит тоже самое что и Opera без каких либо ошибок Safari выводит меленький квадрат синего цвета с вопросом. А Explorer вообще чушь какую то выводит… В чем может быть проблема? подскажите…
|
|
|
RE: Не хочет работать GD библиотека в php - 2010-02-22 12:33:39.346666
|
|
|
Parano1d
Сообщений: 423
Оценки: 0
Присоединился: 2008-05-21 13:40:17.093333
|
наверное потому что картинка пустая. заполни её чем-нибудь. чёрный квадрат нарисуй)
|
|
|
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. Дале убрать перед ней точку с запятой. Если у вас не денвер, то советую установить денвер. Хотя, я понимаю, что меня сейчас грубо раскритикуют, мол денвер - это для тупых и ленивых, но каждому выберать свое.
|
|
|
RE: Не хочет работать GD библиотека в php - 2010-02-22 14:55:23.440000
|
|
|
Parano1d
Сообщений: 423
Оценки: 0
Присоединился: 2008-05-21 13:40:17.093333
|
Agent Smith, тебя раскритикуют за то, что ты не прочитал полностью, что тс писал. он написал, что подключил gd и phpinfo его выводит
|
|
|
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 сменить?
|
|
|
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 и т.д. Возможно преблама в этом.
|
|
|
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 начинается с пробела или с абзаца, а уж после этого начинавет <?php и т.д. Возможно преблама в этом. вполне возможно. тс, попробуй посмотреть исходник генерируемой страницы, может там что-нибудь ненужное есть… мб
|
|
|
RE: Не хочет работать GD библиотека в php - 2010-02-22 16:48:50.376666
|
|
|
oRb
Сообщений: 4044
Оценки: 597
Присоединился: 2007-03-28 18:45:06.630000
|
Может все таки убрать header и посмотреть, что за ошибки пишет интерпретатор?
|
|
|
RE: Не хочет работать GD библиотека в php - 2010-02-22 20:03:35.016666
|
|
|
mscrack
Сообщений: 118
Оценки: 0
Присоединился: 2009-03-15 15:07:33.266666
|
quote:
На пример у вас скрипт Untitled-1.php начинается с пробела или с абзаца, а уж после этого начинавет <?php и т.д. Возможно преблама в этом. Просмотрел скрипт удалил все лишние теги и тд и все заработало!!! ))) Спасибо большое всем кто принял участие в обсуждении. У меня еще один вопрос. Почему не работает этот скрипт: <?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<$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);?> Убрал 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 Думал из за шрифта пробовал другие но ошибки как были так и остались… В чем дело, почему не работает ?
|
|
|
|
|