За последние 24 часа нас посетили 62188 программистов и 1742 робота. Сейчас ищут 790 программистов ...

Не выводится изображение

Тема в разделе "PHP для новичков", создана пользователем Fredwriter, 7 апр 2012.

  1. Fredwriter

    Fredwriter Активный пользователь

    С нами с:
    7 фев 2012
    Сообщения:
    24
    Симпатии:
    0
    Здравствуйте, такая проблема, решил разобраться с графикой на php. Переписал из примера создание полигона, предварительно раскоментировав в файле php.ini строчки extension=php_gd2.dll, extension=php_exif.dll, extension=php_mysql.dll, но браузер выдаёт ошибку: Изображение http://localhost//tra-ta-ta/index.php не может быть показано, так как содержит ошибки.
    Вот код:
    Код (Text):
    1. $image = imagecreate(200, 110);
    2.             $background = imagecolorallocate($image, 10, 129, 239);
    3.             $color_line = imagecolorallocate($image, 255, 255, 255);
    4.             imagepolygon($image,
    5.                                  array(
    6.                                  0, 0,
    7.                                  100, 90,
    8.                                  180, 100,
    9.                                  100, 10),
    10.                                  4,
    11.                                  $color_line);
    12.             header("Content-Type: image/gif");
    13.             imagegif($image);
    Все файлы есть, phpinfo(), выдыёт
    GD Support enabled
    GD Version bundled (2.0.34 compatible)
    FreeType Support enabled
    FreeType Linkage with freetype
    FreeType Version 2.4.3
    GIF Read Support enabled
    GIF Create Support enabled
    JPEG Support enabled
    libJPEG Version 6b
    PNG Support enabled
    libPNG Version 1.2.46
    WBMP Support enabled
    XBM Support enabled

    gd_info(), то есть код
    Код (Text):
    1. var_dump(gd_info());
    выдаёт:
    array
    'GD Version' => string 'bundled (2.0.34 compatible)' (length=27)
    'FreeType Support' => boolean true
    'FreeType Linkage' => string 'with freetype' (length=13)
    'T1Lib Support' => boolean false
    'GIF Read Support' => boolean true
    'GIF Create Support' => boolean true
    'JPEG Support' => boolean true
    'PNG Support' => boolean true
    'WBMP Support' => boolean true
    'XPM Support' => boolean false
    'XBM Support' => boolean true
    'JIS-mapped Japanese Font Support' => boolean false

    значит с библиотекой всё нормально, может ошибка в коде примера?
    Подскажите пожалуйста, кто сталкивался.
     
  2. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Пример повторил, всё работает
    [​IMG]
    Нужно узнать подробности об ошике где-нибудь в логе, или настроить Апач на подробный вывод ошибок.
    Может, файл сохранён в кодировке utf-8 с сигнатурой BOM, может, пробелы есть перед началом скрипта <?php.
     
  3. Fredwriter

    Fredwriter Активный пользователь

    С нами с:
    7 фев 2012
    Сообщения:
    24
    Симпатии:
    0
    YSandro, как у вас настроена библиотека?
     
  4. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Настройки те же.
    Код (Text):
    1. GD Support  enabled
    2. GD Version  bundled (2.0.34 compatible)
    3. FreeType Support    enabled
    4. FreeType Linkage    with freetype
    5. FreeType Version    2.3.9
    6. GIF Read Support    enabled
    7. GIF Create Support  enabled
    8. JPEG Support    enabled
    9. libJPEG Version     6b
    10. PNG Support     enabled
    11. libPNG Version  1.2.37
    12. WBMP Support    enabled
    13. XBM Support     enabled
    Код (Text):
    1. 'GD Version' => string 'bundled (2.0.34 compatible)' (length=27)
    2. 'FreeType Support' => boolean true
    3. 'FreeType Linkage' => string 'with freetype' (length=13)
    4. 'T1Lib Support' => boolean false
    5. 'GIF Read Support' => boolean true
    6. 'GIF Create Support' => boolean true
    7. 'JPEG Support' => boolean true
    8. 'PNG Support' => boolean true
    9. 'WBMP Support' => boolean true
    10. 'XPM Support' => boolean false
    11. 'XBM Support' => boolean true
    12. 'JIS-mapped Japanese Font Support' => boolean false
     
  5. Fredwriter

    Fredwriter Активный пользователь

    С нами с:
    7 фев 2012
    Сообщения:
    24
    Симпатии:
    0
    Какие могут быть причины такого безобразия?

    Добавлено спустя 30 минут 20 секунд:
    как узнать это?
     
  6. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Хорошие текстовые редакторы показывают пробелы и могут сохранять в utf-8 с сигнатурой и без.
     
  7. Fredwriter

    Fredwriter Активный пользователь

    С нами с:
    7 фев 2012
    Сообщения:
    24
    Симпатии:
    0
    А как узнать подробности об ошибке?
     
  8. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Убери header() и вызови скрипт напрямую из браузера. Если php на что-то ругается - ты увидешь текст ругательств.
     
  9. Fredwriter

    Fredwriter Активный пользователь

    С нами с:
    7 фев 2012
    Сообщения:
    24
    Симпатии:
    0
    Убрал header вызвал напрямую выдало следующее:
    GIF87aШn€ яџџџ,ШnўŒ ЉЫэЃœДк‹ГnAlтH–цyvЂю Ч2 jь7чњзшт ‡D‚<—Ь’™|6ЇTOНj‘[KЖ IУо$љьЃ7Ќ5YэСуPКkn'тѓ^ўUщЧXЕ7јPh8ƒ˜ИАШјтјљ˜BйgЉ‡I1Љ)жЙђЩz8ЊУixZZЈJгЊјš ;K‹E{‹›ІЫ щћћ,lВKw\ьjЋlœМі\§ж\й:-Œ ІЭЫНхM\ Ю|]mќ:ŽЎnNТњ™О> :_.Ю~ŽŸпЎjяŸœ€э+hуп…;1lЈщЁМ‰=еЋhёFКƒ7f˜dЧ‘Ы\,‰A$ •$-БtихІ˜2kEЌyсх0œЋhђьѓчwŒtоФdєЈKЁ=‘2щєЉMJIЃ.•ЁjFЌ@ЏrMЃеЦз\TЧ’•d–TйДМВЕВі-\Дrч­k7QX—{/с]Іїoо@}н*L5aСFn cМТё6Ш)%7AЬШBЪ+-уlЪ3GаzD%­EѓYдл,cfMьйДkлО;ЗюнМ{Ї-;
     
  10. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Ошибок не выдал. Остаётся дело либо в BOM (кодировка файла скрипта utf8 + BOM), либо где-то какие-то лишние символы всё-таки закрались - пробелы, переносы строк и т.п. Смотри, нету ли чего перед <?php . Также, если у тебя в конце скрипта стоит ?> - то убедись что нету ни одного символа после него.
     
  11. Fredwriter

    Fredwriter Активный пользователь

    С нами с:
    7 фев 2012
    Сообщения:
    24
    Симпатии:
    0
    Спасибо, действительно были символы после и перед php, это были теги html, как же мне без них-то, без них работает.
     
  12. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Php скрипт, который выводит картинку, не должен больше ничего выводить, никаких html тегов и ничего другого, только заголовок
    header("Content-Type: image/gif") и далее вывод бинарных данных.
     
  13. Fredwriter

    Fredwriter Активный пользователь

    С нами с:
    7 фев 2012
    Сообщения:
    24
    Симпатии:
    0
    А можно ли изображению ссылку задать то есть ткнул по нему и на другую страничку передались данные о том, что ты по нему ткнул?
     
  14. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Вот вы понимаете же да, что это да такой степени глупый и тупой вопрос?
    Вы занимаетесь программированием и разметкой и не знаете как сделать изображение ссылкой на другую страницу,
    будь это с переадресацией или без на javascript или вообще без перехода?!
     
  15. Fredwriter

    Fredwriter Активный пользователь

    С нами с:
    7 фев 2012
    Сообщения:
    24
    Симпатии:
    0
    спасибо, всё понятно стало, просто немного запутался.