Вывод Php как Png?

  • Автор темы repz
  • Дата начала
R

repz

Перекодировал так:
Код:
$xxx=iconv('windows-1251', 'utf-8', $xxx);
А вот с выводом вообще непонятки на локалхосте все работает, загружаю на рабочий сервер не распознает в .htaccess прописал
Код:
AddType application/x-httpd-php .png
 
G

GOsha

Если ты хочешь вывести PNG, в браузер, по-моему это не так делается...
Скажи зачем, и покажи весь код.
 
R

repz

Проблема в том, что на сервере не отображается вот часть кода в которой ошибки:
Код:
$str=ereg_replace(" ","",$str); //óäàëÿåì ïðîáåëû
$tatp='Ñîîáùåíèé:'.' '. $str.' íà 1 ôîðóìå';
//$tatp = convert_cyr_string($tatp, "k", "w");
$tatp=iconv('windows-1251', 'utf-8',$tatp); //ïðåîáðàçóåì â êîäèðîâêó utf-8

$font = 'ARICYR.TTF';

$string='Âàø ip àäðåñ'.' '. $REMOTE_ADDR; 	//èï àäðåñ
$string=iconv('windows-1251', 'utf-8',$string);
$date=date('Äàòà d.m.Y - Âðåìÿ h.i.s');
$date=iconv('windows-1251', 'utf-8',$date);		// äàòà
//$bro="$HTTP_USER_AGENT";		//òèï áðàóçåðà
$im = ImageCreateFromPng("img.png");
$c = ImageColorAllocate($im, 0, 225, 225);
imageTTFText ($im, 12, 0, 10, 60, $c ,$font, $tatp);
imageTTFText ($im, 12, 0, 10, 20, $c ,$font, $string);
imageTTFText ($im, 12, 0, 10, 40, $c ,$font, $date);
ImagePng($im);
ImageDestroy($im);
В частности при обработке браузером выдает ошибку:
Код:
imageTTFText ($im, 12, 0, 10, 60, $c ,$font, $tatp);
 
G

GOsha

Создай файлик info.php
в котором напиши
Код:
phpinfo();
Поучишь настройки PHP для твоего хоста.
Смотри, чтобы php был скомпилирован с withgd

вариант проще:
Код:
if(!function_exists(imageTTFText))
{
Echo 'There is no t-type support';
}
Если увидишь сообщение, то значит нет поддержки.

Вариант 3:
ты закачал файл шрифта на сервер?
поверил путь к нему на существование?
может просто он не находит шрифта, которым ты писал.

Последнее: НАРОД! ПИШИТЕ ТЕКСТ ОШИБОК!!! чтобы я экстрасенсом не стал.
 
R

repz

Вот собсна ошибка в сорцах:
Код:
Call to undefined function: imagettftext()
А вот в браузере:
Изображение “http://ххх.ru/counter/logo.png” не может быть показано, так как содержит ошибки.
А вот ответ phpinfo():
Код:
gd
GD Support 			  enabled
GD Version 				bundled (2.0.28 compatible)
GIF Read Support 	 enabled
GIF Create Support 	enabled
JPG Support 				enabled
PNG Support 			  enabled
WBMP Support 			 enabled
XBM Support 			  enabled

Шрифт лежит там же где и скрипт путь указан как:
Код:
$font = 'ARICYR.TTF';
или надо от корня сайта указывать, т.е. "counter/ARICYR.TTF"??

Воот нашел, скриптик то выдал:
Код:
There is no t-type support
, что делать-то, как настроить с поддержкой t-type?
 
G

GOsha

Это означает, что функция в данной компиляции PHP отсутствует.
Выходы:
1. Написать хостеру. Обычно они нормально реагируют на просьбы клиентов, если хост не бесплатный.
2. Отказаться от TrueType
 
R

repz

Нашел выход, использовал *.phpfont.
Хостер сказал, что нет лицензии на использование ttype.
Спасибо за помощь!
 
R

repz

Вопрос еще, а как вставить туда изображение? Например:

Код:
$td="<a href=http://wwp.icq.com/№№№№№№#pager target='_blank'><img src=http://status.icq.com/online.gif?icq=№№№№№№&img=5 border=0 width=18 height=18></a>";
echo $td;
Простым echo не получается.
 
G

GOsha

Туда, это куда? ты хошь картинку вставить в PNG?
Или просто показать картинку на странице?
Если просто на странице, то должен echo сработать...
Посмотри HTML-код страницы в поисках фрагментов кода вывода, мож он выводит де-нить криво.
 
G

GOsha

Туда, это куда? ты хошь картинку вставить в PNG?
Или просто показать картинку на странице?
Если просто на странице, то должен echo сработать...
Посмотри HTML-код страницы в поисках фрагментов кода вывода, мож он выводит де-нить криво.
 
R

repz

После этого:
Код:
imageTTFText ($im, 12, 0, 10, 20, $c ,$font, $string);
imageTTFText ($im, 12, 0, 10, 40, $c ,$font, $date);
ImagePng($im);
ImageDestroy($im);
пишу:
Код:
$td="<a href=http://wwp.icq.com/№№№№№№#pager target='_blank'><img src=http://status.icq.com/online.gif?icq=№№№№№№&img=5 border=0 width=18 height=18></a>";
echo $td;
,
в сорцах при ентом видно код пнг и строчку
Код:
<a href=http://wwp.icq.com/№№№№№№#pager target='_blank'><img src=http://status.icq.com/online.gif?icq=№№№№№№&img=5 border=0 width=18 height=18></a>
Я хочу что бы на фоне пнг еще отображалось картинка, такое возможно?
 
R

repz

Как моно регулярными выражениями типа:
Код:
#(?<=: <strong>)([0-9,])+(?=</strong> \()#i
получить тоже, что и:
Код:
$str = '';
$handle = @fopen("http:/хххх/index.php?showuser=х", "r");
if (FALSE !== $handle)
{
$lineNumber = 0;
while(!feof($handle) && (1674 != $lineNumber))
{
$str = fgets($handle);
$lineNumber++;
}
fclose($handle);

if (1674 == $lineNumber)
{

$str = substr($str,37,5);
}
}
 
G

GOsha

Можно. Сначала получаешь картинку при помощи PHP.
ПОтом ее накладываешь на свою PNG

Насчет регулярок создавай отдельную тему.
И не пиши получить то же, что и... а просто напиши задачу.
Мне, думаешь, интересно читать твой код?
 
R

repz

Вот вопрос в том, как ее наложить на png? если получаю я ее html кодом
Код:
<img src=http://status.icq.com/online.gif?icq=№№№№№№&img=5 border=0 width=18 height=18></a>
 
G

GOsha

Ты ее не получаешь HTML-кодом.
Ты получаешь картинку в формате GIF.
Функции PHP:
exif_imagetype - определяет тип изображения
imagecopymerge - копирует и объединяет часть изображения
imagesx - получает ширину изображения
imagesy - получает высоту изображения
Посмотри документацию или любой учебник, по работе с изображениями и все станет ясно.
 
G

GOsha

Для: Andrew Stephanoff
Да все равно модули GD у всех по разному работают...
Все нужно проверять, перед тем, как писать.
Или делать скрипт, который обрабатывает все варианты рисунков и т.о. работает на всех хостах, де установлен хоть какой-нить GD.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!