Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.117 c
15-1348950602
Юрий
2012-09-30 00:30
2013.03.22
С днем рождения ! 30 сентября 2012 воскресенье


6-1256903748
Валигози
2009-10-30 14:55
2013.03.22
Как получить ВСЕ свойства пользователя из Active Directory?


15-1347364691
Baks
2012-09-11 15:58
2013.03.22
Бесплатный антивирус


10-1182370787
miks
2007-06-21 00:19
2013.03.22
Проблема открытия файла в MS Word


15-1344717005
Юрий
2012-08-12 00:30
2013.03.22
С днем рождения ! 12 августа 2012 воскресенье





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский