GD GD и еще раз GD

  • Автор темы ДЕД Матвей
  • Дата начала

ДЕД Матвей

Guest
GD GD и еще раз GD

Проблема следующая:
Есть класс, который занимается сбором статистики.
Есть в этом классе метод, который, строит по данным из БД - изображение - счетчик.
Вопрос следующий: Я в индекс.php, создаю экземпляр класса, затем вывожу шаблон страницы, затем в опр. месте страницы, пытаюсь вывести счетчик... НО! Вместо своей страницы, с выведенным счетчиком, я вижу - ОДИН ТОЛЬКО СЧЕТЧИК!
Как я понял проблема с тем, что пре посылке заголовка Content type image/png, браузер или Апача, начинают думать, что все, что было до етого - является картинкой... Или в чем проблема???? Помогите пожалуйста!!
 

tony2001

TeaM PHPClub
HTML когда-нибудь видел?
как там картинки вставляются?
именно так как ты пытаешься сделать - прямо вместе с текстом?
точно?
 

ДЕД Матвей

Guest
HTML я видел и не раз... и ссылки вида <img src="counter.php"> я тоже давать умею!
Вопрос в другом, как замутить вывод изображения (счетчика) - из метода класса???

-~{}~ 11.02.05 23:00:

А как тогда по вашему работают всякие классы по выводу графиков и диаграмм???
Что то типа такого
include('class.graph.php');
$graph = new Graph(10);
а затем где то... <img src="class.graph.php">
??????????????

-~{}~ 11.02.05 23:11:

Короче, чтобы не объяснять на пальцах пишу код (это у меня класс сбора статистики):
function GetCounter()
{
$image = ImageCreateFromPNG('classes/userstat/counter.png');
$color = ImageColorAllocate($image, chr(50).chr(49).chr(53), chr(49).chr(53).chr(53), chr(54).chr(48));
ImageString($image,chr(49),chr(50),chr(50), $this->addSpace($this->GetTotalStat()),0x000000);
ImageString($image,chr(49),chr(50),chr(49).chr(51), $this->addSpace($this->GetTodayStat()),0x000000);
ImageString($image,chr(49),chr(50),chr(50).chr(49), $this->addSpace($this->GetOnlineStat()),0xFF0000);
ImagePNG($image);
ImageDestroy($image);
}
Как заставить эту ф-цию выводить указанный счетчик, там, где ее вызвали?
 

ДЕД Матвей

Guest
Я зашел и почитал. Я все понял. Тогда вопрос, как мне поступить??? C выводом счетчика?
 

SiMM

Новичок
> вопрос, как мне поступить???
Проблема-то в чём?
> ссылки вида <img src="counter.php"> я тоже давать умею!
 

ДЕД Матвей

Guest
Проблема в том, мне не годится способо <img src="">, потому, что для этого нужно будет ГЕНЕРИРОВАТЬ этот counter.php, а затем его уже выводить.
Не годится, потому, что я не могу передавать в этот counter.php - значения счетчиков.
А проблема в том, что ф-ция ImagePNG - захватывает вывод браузера, и в итоге в браузер ничего кроме картинки не выводится... Вопрос: почему??? (только не нужно отвечать, что это потому, что HTML я не знаю)...
 

SiMM

Новичок
Ну не надо так не надо :)
PS: а говоришь - всё понял. Подход в принципе неправильный - либо передаёшь параметры скрипту, генерирующему картинку, либо используешь временные файлы - но опять же, встаёт вопрос с генерированием имён для временных файлов - и это ничем не лучше передачи параметров скрипту. Хотя в целом - задача вообще не описана, а постоянно генерировать картинки динамически, без кэширования, например - я бы не сказал, что это хорошо.
 

ДЕД Матвей

Guest
Вот теперь уже лучше..., спасибо за ответ!!!
Нет просто понимаешь, своими глазами видел скрипт который что то делал с imagecreatefromstring(), а вот где и что, не помню...
 
Сверху