Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> header Content-type, не ясно как код оформить 
V
    Опции темы
rthsobakas
Дата 16.1.2009, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 562
Регистрация: 20.9.2007

Репутация: нет
Всего: -1



Код

function qwer()
{
echo "........";
//пробуем создать капчу из картинки с каким-нибудь «шумным» фоном:
if (!$image = @imagecreatefromgif('../img/cod.gif'))
{    
//если не было создано изображение на основе image.gif, мы создаем новую картинку размером 88 на 31 пикселей
$image = imagecreatetruecolor(88, 31);
//определяем цвет фона:
$backgroundcolor = imagecolorallocate($image, 255, 255, 255);
//заливаем полученное изображение выбранным цветом:
imagefill($image, 0, 0, $backgroundcolor);
}
//определяем цвет шрифта:
$fontcolor = imagecolorallocate($image, 0, 0, 0);
//создаем случайное четырехзначное число:
$text = mt_rand(1000, 9999);
//выводим число на картинку:
imagestring($image, 5, 0, 0, $text, $fontcolor);
//и выдаем полученный результат пользователю:
imagegif($image);
header('Content-type: image/gif');
echo "......";
return;
}


вот есть код.
Если написать echo "header('Content-type: image/gif')";
то выведится код картинки(ну ГИФ как текстовый)...
Если так header('Content-type: image/gif'), то весь контент не загрузится, тока покажется картинка(элемент) , вкоторый сама картинка не сгенирируется... Що делать?
PM   Вверх
lelik133
Дата 16.1.2009, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 517
Регистрация: 5.2.2003
Где: Москва

Репутация: 5
Всего: 14



а почему у тебя header('Content-type: image/gif'); стоит после непосредственного вывода в браузер imagegif($image); ?
да и еще до вызова header не должно быть никакого вывода в браузер, echo и прочего..
PM ICQ   Вверх
rthsobakas
Дата 16.1.2009, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 562
Регистрация: 20.9.2007

Репутация: нет
Всего: -1



Цитата

а почему у тебя header('Content-type: image/gif'); стоит после непосредственного вывода в браузер imagegif($image); ?
да и еще до вызова header не должно быть никакого вывода в браузер, echo и прочего..

если я хидер первым поставлю до вывода всего...
то есть н-р
Код

header('Content-type: image/gif');
echo "
<?xml version='1.0' encoding='CP-1251'?>
<!DOCTYPE html 
  PUBLIC '-//W3C//DTD XHTML 1.1//EN'
  'http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd'>
<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en'>
<head>
  <title> Программирование, администрирование и т.д. | sobakas.ru </title>
<link rel='stylesheet' type='text/css'  href='../css/view.css'>
<link rel='stylesheet' type='text/css'  href='../css/view2.css'>
</head><body>
<center>";


то контент не загрузится просто

Добавлено через 7 минут и 52 секунды
если хидер убрать то получится что то такое

Код

GIF87a)гЅТзАФиБФйЕЧйЙЩлЦбраочьчМпцыяяя,)рИI«©8`Шyџ(Ѓy()ЎјЙІД¶dЄRєVІО@Ыw?rw#љ—Јt’LјR6t(ээЦвMЎРљoУлњр>u:JQ@»%м¶СL&Пэ*g}Ђ\G2†VЏO$Ђ}r”.…‘Y•} ў љўuќx‘V•ҐdІ°Ј®«¬®ЇҐІјҐ‚®¬№Љ™јІМ©ќВ ;

PM   Вверх
skyboy
Дата 16.1.2009, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



не, ты не прав.
скрипт может либо отдавать только картинку(заголовок Content-Type: image/gif  и сами бинарные данные - содержимое картинки), либо HTML-разметку(Content-Type: text/html и собственно, HTML-код). Выдавать и то, и то за один присест теоретически можно(см. схему data), но имеет собственные ограничения по объему(ограничение на длину определяется ограничением на длину URL - 2, 4 или 8 Кб, не более) и поддерживается не всеми браузерами. Так что решением является разделение генерации картинки и HTML-кода.
PM MAIL   Вверх
rthsobakas
Дата 16.1.2009, 15:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 562
Регистрация: 20.9.2007

Репутация: нет
Всего: -1



skyboy, 

Код

function qwer()
{
echo "........";
//  а здесь должна быть картинка
echo "......";
return;
}


Генерация картинки в отдельном фаили пхп (pic.php)
Код

<?php
//пробуем создать капчу из картинки с каким-нибудь «шумным» фоном:
if (!$image = @imagecreatefromgif('../img/cod.gif'))
{    
//если не было создано изображение на основе image.gif, мы создаем новую картинку размером 88 на 31 пикселей
$image = imagecreatetruecolor(88, 31);
//определяем цвет фона:
$backgroundcolor = imagecolorallocate($image, 255, 255, 255);
//заливаем полученное изображение выбранным цветом:
imagefill($image, 0, 0, $backgroundcolor);
}
//определяем цвет шрифта:
$fontcolor = imagecolorallocate($image, 0, 0, 0);
//создаем случайное четырехзначное число:
$text = mt_rand(1000, 9999);
//выводим число на картинку:
imagestring($image, 5, 0, 0, $text, $fontcolor);
//и выдаем полученный результат пользователю:
header("Content-type: image/gif");
imagegif($image);
?>


Как из этого места стартануть скрипт пик.пхп 
Код

//  а здесь должна быть картинка

и чтобы картинка грузанулась и контент дальше грузился?

PM   Вверх
theworldcreator
Дата 16.1.2009, 15:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 362
Регистрация: 25.8.2007
Где: Москва

Репутация: 10
Всего: 13



Код

<img src='pic.php'>

PM MAIL WWW ICQ   Вверх
bars80080
Дата 16.1.2009, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



попробую перефразировать skyboy, 

у тебя картинка в браузере имеет строго определённую разметку: <img src="pic.php" />

эта разметка в самой странице script.php, а генерация картинки находится в отдельном файле pic.php, в котором есть всего один header("Content-type: image/gif"); и один вывод imagegif($image); и никаких больше echo, print и ещё чего-нибудь

PM MAIL WWW   Вверх
rthsobakas
Дата 16.1.2009, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 562
Регистрация: 20.9.2007

Репутация: нет
Всего: -1



theworldcreator, 
Код

<img src='pic.php'>

интересно... что так делать можно я не знал... спасибо
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0917 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.