Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как одновременно сделать html + image на страничке?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: проблема с content-type
nikki4
Отправлено: 13 Марта, 2012 - 14:46:40
Post Id


Новичок


Покинул форум
Сообщений всего: 29
Дата рег-ции: Март 2012  


Помог: 0 раз(а)




есть работающий код
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. //преобразование текста  в картинку
  3. function cr_im($text){
  4. $textsize=mb_strlen($text)*11+20;
  5. header ("Content-type: image/png");
  6. $im = @imagecreate ($textsize, 40)
  7. or die ("Cannot Initialize new GD image stream");
  8. $background_color = imagecolorallocate ($im, 255, 155, 255);
  9. $text_color = imagecolorallocate ($im, 0, 0, 0);
  10. $x=10;
  11. $y=30;
  12. $size=16;
  13. $ugol=0;
  14. $font='ariblk.ttf';
  15. imagettftext($im, $size, $ugol, $x, $y, $text_color, $font, $text);
  16. imagepng ($im);
  17. }
  18. $text="тест";
  19. cr_im($text);
  20. ?>

как его вставить на обычную штмл страничку?
если копировать как есть. возникает ошибка, что заголовок уже послан.
тогда удаляю эту строку и пишу
CODE (html):
скопировать код в буфер обмена
  1. <HEAD>
  2. <META http-equiv=content-type content="text/html,image/png; charset=utf-8">
  3. </head>


а в результате вместо картинки, получается кучу символов непонятных.
Как сделать вывод результата этого кода на страничке?
 
 Top
ar4webber
Отправлено: 13 Марта, 2012 - 15:05:53
Post Id



Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Апр. 2011  


Помог: 0 раз(а)




Код который заключен в <?php ... ?> должен быть в файле с расширением *.php


-----
think different
 
 Top
nikki4
Отправлено: 13 Марта, 2012 - 15:09:18
Post Id


Новичок


Покинул форум
Сообщений всего: 29
Дата рег-ции: Март 2012  


Помог: 0 раз(а)




ar4webber пишет:
Код который заключен в <?php ... ?> должен быть в файле с расширением *.php

это понятно. я видимо не так выразился. под штмл страничкой имел ввиду
CODE (html):
скопировать код в буфер обмена
  1. <META http-equiv=content-type content="text/html,image/png; charset=utf-8">

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

(Отредактировано автором: 13 Марта, 2012 - 15:10:36)

 
 Top
Zuldek
Отправлено: 13 Марта, 2012 - 15:13:33
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


Помог: 50 раз(а)




content="text/html

выводите html,

<img src="
<?

//код отдающий ссылку на картинку, например:
echo "filename.php";

?>
">

(Отредактировано автором: 13 Марта, 2012 - 15:18:55)

 
 Top
nikki4
Отправлено: 13 Марта, 2012 - 15:16:49
Post Id


Новичок


Покинул форум
Сообщений всего: 29
Дата рег-ции: Март 2012  


Помог: 0 раз(а)




Zuldek пишет:
content="text/html
выводите html,
<img src="
<?
код отдающий ссылку на картинку.
?>
">

т.е. нужно сохранить картинку на сервере, потом вывести на экран img scr, а потом опять удалить?
а может есть какой-то другой способ? Улыбка
 
 Top
Zuldek
Отправлено: 13 Марта, 2012 - 15:20:39
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


Помог: 50 раз(а)




nikki4 пишет:
т.е. нужно сохранить картинку на сервере, потом вывести на экран img scr, а потом опять удалить?
а может есть какой-то другой способ? Улыбка

Не обязательно.
Изображения передаются отдельно от HTML-кода. В данном случае вы указывается на скрипт который отдаст браузеру все заголовки и файл картинки.
Цитата:
...нужно сохранить картинку на сервере, потом вывести на экран img scr...

Протокол HTTP поизучайте. Все что вы отдаете в браузер у вас так или иначе хранится на сервере. Причем, это не "тыкание носом": поставьте прокси, лезтье на любой сайт и смотрите что у браузер "спрашивает" и что "отвечает" сервер. Так станет все сразу понятно.

(Отредактировано автором: 13 Марта, 2012 - 15:24:47)

 
 Top
nikki4
Отправлено: 14 Марта, 2012 - 08:11:58
Post Id


Новичок


Покинул форум
Сообщений всего: 29
Дата рег-ции: Март 2012  


Помог: 0 раз(а)




не получается..


есть файл test.php
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <!DOCTYPE html>
  3. <html>
  4. <HEAD>
  5. <META http-equiv=content-type content="text/html charset=utf-8">
  6. </HEAD>
  7. <body>
  8. <?php
  9. $str="некоторый текст";
  10. ?>
  11. <img src="image.php" />
  12. </body>
  13. </html>


есть файл image.php
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. //файл из которого берется текст
  3. include 'test.php';
  4. //функция преобразование текста  в картинку
  5. function create_image($text){
  6. header ("Content-type: image/png");
  7. $textsize=mb_strlen($text)*11+20;
  8. $im = @imagecreate ($textsize, 40)
  9. or die ("Cannot Initialize new GD image stream");
  10. $background_color = imagecolorallocate ($im, 255, 155, 255);
  11. $text_color = imagecolorallocate ($im, 0, 0, 0);
  12. $x=10;
  13. $y=30;
  14. $size=16;
  15. $ugol=0;
  16. $font = 'ariblk.ttf';
  17. imagettftext($im, $size, $ugol, $x, $y, $text_color, $font, $text);
  18. imagepng ($im);
  19. }
  20. //преобразование текста
  21. create_image($str);
  22. ?>


Появляется ошибка
CODE (htmlphp):
скопировать код в буфер обмена
  1. Warning: Cannot modify header information - headers already sent by (output started at Z:\home\localhost\www\test.php:7) in Z:\home\localhost\www\image.php


что делать? как я понимаю при инклюде видимо включаетcя text/html , а потому image/png не срабатывает..
 
 Top
DelphinPRO
Отправлено: 14 Марта, 2012 - 08:21:24
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




правильно понимаете. не должно быть никакго вывода, до отправки заголовков.


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
nikki4
Отправлено: 14 Марта, 2012 - 08:34:20
Post Id


Новичок


Покинул форум
Сообщений всего: 29
Дата рег-ции: Март 2012  


Помог: 0 раз(а)




DelphinPRO пишет:
не должно быть никакго вывода, до отправки заголовков.

поменял местами и сделал так:
header ("Content-type: image/png");
include 'test.php';
но тогда появляется изображение с надписью типа "изображение не может быть показанно так как содержит ошибки"..
 
 Top
snikers987
Отправлено: 14 Марта, 2012 - 08:43:48
Post Id



Участник


Покинул форум
Сообщений всего: 1239
Дата рег-ции: Сент. 2011  
Откуда: Крым


Помог: 25 раз(а)




nikki4 не нужно инклудить test.php в image.php


-----
Когда всматриваешься в тёмную бездну, учти, что кто-то может смотреть на тебя из неё...
 
My status
 Top
nikki4
Отправлено: 14 Марта, 2012 - 09:37:29
Post Id


Новичок


Покинул форум
Сообщений всего: 29
Дата рег-ции: Март 2012  


Помог: 0 раз(а)




snikers987 пишет:
nikki4 не нужно инклудить test.php в image.php

а что в таком случае делать?
почитал про сессии.. попробовал, таже ошибка, что заголовки отправлены
(Добавление)
ураа заработало!
почитал про различные способы передачи данных.. и один из них сработал!
в имедж.пхп написал

а в тест.пхп
CODE (html):
скопировать код в буфер обмена
  1. <img src="image.php?text=<?=$text; ?>" />
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« HTTP и PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB