Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.03.22;
Скачать: CL | DM;

Вниз

Php   Найти похожие ветки 

 
alexdn ©   (2012-05-23 11:20) [0]

Вот есть простой вопрос по php, допустим надо вывести сначала текст, потом сгенерированную картинку, потом опять текст -
<?php
echo "тра та та";
$image = imagecreatetruecolor(327,192) // создаем изображение
   or die("Cannot create image");
imagefill($image, 0, 0, 0x000000);
imageline($image, 40, 28, 40, 38, 0xFFFFFF);
echo "тра та та";

 header("Content-type: image/png");
 imagepng($image);
 imagedestroy($image);            
?>
как сдружить echo и картинку??


 
Медвежонок Пятачок ©   (2012-05-23 11:23) [1]

никак. браузер пришел на этот пхп ожидая ответ на конкретный запрос. если запрос был не на картинку, то генерировать картинку не надо, он ее все равно не поймет


 
Медвежонок Пятачок ©   (2012-05-23 11:25) [2]

максимум что можно здесь отдать - это <img src=".."/>

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


 
alexdn ©   (2012-05-23 11:25) [3]

так что ж делать, писать всё на картинке тоже не есть гут, как же комментарий к картинке прикрутить..?


 
Медвежонок Пятачок ©   (2012-05-23 11:28) [4]

а ты не представляй модуль пхп аналогом отрендеренной страницы в окне браузера. тогда все будет понятно.


 
Давайте будем жрать!   (2012-05-23 11:33) [5]


> максимум что можно здесь отдать - это <img src=".."/>
Максимум можно нечто вроде <img src="data:base64:картинка-в-бейс64"/>, только руки за такое отрывать.


 
alexdn ©   (2012-05-23 11:56) [6]

> Давайте будем жрать!   (23.05.12 11:33) [5]
только руки за такое отрывать.
это почему это


 
Омлет ©   (2012-05-23 12:01) [7]

В морг.


 
ProgRAMmer Dimonych ©   (2012-05-23 12:09) [8]

> [6] alexdn ©   (23.05.12 11:56)
> > Давайте будем жрать!   (23.05.12 11:33) [5]
> только руки за такое отрывать.
> это почему это

Есть подозрение, что для кэширования это плохо. И для dial-up: отключай картинки, не отключай - всё равно получишь её со страницей вместе.


 
alexdn ©   (2012-05-23 13:20) [9]

> ProgRAMmer Dimonych ©   (23.05.12 12:09) [8]
> Есть подозрение, что для кэширования это плохо.
Всё равно прийдется каждую картинку генерировать для разных запросов с разными именами.


 
ProgRAMmer Dimonych ©   (2012-05-23 13:50) [10]

> [9] alexdn ©   (23.05.12 13:20)
> > ProgRAMmer Dimonych ©   (23.05.12 12:09) [8]
> > Есть подозрение, что для кэширования это плохо.
> Всё равно прийдется каждую картинку генерировать для разных
> запросов с разными именами.

Это не закрывает вторую проблему. И, кстати, в BASE64 картинка-то побольше съест трафика, чем если её нормально по HTTP отдать, как это обычно и делается.

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


 
Давайте будем жрать!   (2012-05-23 13:56) [11]

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


 
alexdn ©   (2012-05-23 14:00) [12]

> Давайте будем жрать!   (23.05.12 13:56) [11]
а как передавать GET параметры на два скрипта с одной страницы?


 
Anatoly Podgoretsky ©   (2012-05-23 14:10) [13]

> ProgRAMmer Dimonych  (23.05.2012 13:50:10)  [10]

А как ты дымаешь она по HTTP отдается?


 
Давайте будем жрать!   (2012-05-23 14:15) [14]


> а как передавать GET параметры на два скрипта с одной страницы?
Ну ты же ссылку в img src тоже генеришь сам. Use the brain, Luke.


 
AV ©   (2012-05-23 14:17) [15]


> Anatoly Podgoretsky ©   (23.05.12 14:10) [13]

да тебе стихи писать :)
"она отдалась по хттп"


 
ProgRAMmer Dimonych ©   (2012-05-23 14:20) [16]

> [13] Anatoly Podgoretsky ©   (23.05.12 14:10)
> > ProgRAMmer Dimonych  (23.05.2012 13:50:10)  [10]
>
> А как ты дымаешь она по HTTP отдается?

В смысле? Ну, имелось в виду с отправкой соответствующего Content-Type, Content-Length и дальше по списку. А сие ведь и есть HTTP-заголовки? Значит, в соответствии с протоколом HTTP. Или я что-то упускаю из виду?


 
KSergey ©   (2012-05-23 17:43) [17]

alexdn ©
ты маненько идеологию недопонимаешь, по-моему.

Когда браузер читает некий URL (адрес, который указали) - ему в заголовке приходит тип контента (html-текст или картинка или еще что).
На основании полученного заголовка браузер соответствующим образом обрабатывает информацию. Если информация не соответствует - то браузер "покажет какую-нибудь фигню".
Это что-то вроде как текстовый файл записать с расширением exe. Винда скажет что-то вроде "некорректный формат". А если exe-шнику сделать расширение TXT - то блокнот покажет "кракозябры" а не текст, что понятно.

Если задача в том, чтобы выдать картинку с подписью, то варианта 2:

1) При отдаче картинки скриптом пририсовывать на ней где-то подпись и уже сформированную таким образом картинку отдавать. Фактически с точки зрения браузера это будет просто получение картинки.

2) Отдавать 2 составляющие из 2-х скриптов:

-- HTML-текст (с соответствующим заголовком html-text) примерно такого содержания
<html>
<body>
<img src="script2.php"><br>
Текст подписи
</body>
</html>

-- собственно script2.php
который будет уже отдавать картинки, с заголовком картинок.

Чтобы понять какую же картинку отдать - можно писать например
<img src="script2.php?imgid=5">

Красивее (чисто эстетически) будет дописать в .htaccess чтобы на все URL, где содержится запрос к jpg-файлу, реально вызывался наш script2.php, который будет по имени запрашиваемого файла (получив и распарсив оригинальный URL) будет выдавать требуемую картинку.
Т.е. будет первым скриптом в тексте формироваться что-то вроде
<img src="image-2765.jpg">
после чего фактически из браузера придет запрос вида
http://адрес.рф/image-2765.jpg
при этом сработает заданное перенаправление в .htaccess и фактически вызовется наш script2.php, где мы получим оригинальный URL http://адрес.рф/image-2765.jpg и достанем из него требуемый ID картинки (2765). Ну если это ID, ну или иначе как-то опознает какую же именно картинку надо отдать клиенту.

Можно, конечно, совсем извратиться и в .htaccess все обращения прописать на один  скрипт, который уже внутри себя будет распознавать URL и на основании того, что его попросили (HTML-текст или картинку формировать соответственно разные заголовки и разное содержимое. Но это уже чисто "эстетика", не имеющая никакого отношения к сути.

Суть же в том, что во втором случае браузер непременно придет 2 раза:
1) за HTML-текстом страницы
2) за картинкой.

Как суметь ему этот контент отдать - вариантов масса.


 
KSergey ©   (2012-05-23 17:47) [18]

Преобразовалось в ссылку.
прикольно
по ней даже картинка открывается, кто бы мог подумать!!
в следующий раз для примеров буду на свои сайты случайно ссылки давать )



Страницы: 1 вся ветка

Текущий архив: 2013.03.22;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.08 c
15-1345064533
DevilDevil
2012-08-16 01:02
2013.03.22
IInterface и RTTI по нему


15-1347085902
Опять я
2012-09-08 10:31
2013.03.22
H.264


1-1300455452
TStas
2011-03-18 16:37
2013.03.22
Как получить версию Экселя?


2-1324740591
minotavr
2011-12-24 19:29
2013.03.22
BitBtn и ImageList


2-1339482474
Abcdef123
2012-06-12 10:27
2013.03.22
Медленно работает TdxDBTreeView.