Передача данных в скрипт картинки

Игорёк

Новичок
Передача данных в скрипт картинки

Здравствуйте, уважаемые!

Я сейчас выполняю работу с использованием графики. Требуется вывести
документ и на нем несколько картинок, отрисованных динамически.
При формировании документа я выполняю большое количество расчетов,
по результатам которых и рисуются картинки в документе
(это графики с большим количеством точек и т.д.).
Я не хочу выполнять все эти расчеты внутри каждого
скрипта-картинки, но мне не вполне понятно ,как я могу передать
информацию из документа в скрипт картинки.

Если делать что-то типа:
<img src="mypicture.php?data=qwess2223dd343412wdsdsgre44442e3332323d">

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

Еще один способ приходит в голову: надо во время формирования документа
записывать в базу эти данные с уникальным ключом, а ключ передавать
при вызове картинки: <img src="mypicture.php?key=744">
Внутри скрипта-картинки нужно считать из базы эти данные и удалить их.

Посоветуйте, как лучше сделать. Может быть есть какой-то
стандартный способ?
 

StUV

Rotaredom
если картинка каждый раз перерисовывается, то придется каждый раз "скрипту картинки" передавать всю информацию, уникально ее идентифицирующую (т.е. действительно держать в базе набор полей, по которым производится расчет, и передавать в скрипт id нужной записи)

если картинка рисуется только при обновлении некоторой информации, то имеет смысл ее рисовать при обновлении данных в базе и сохранять на диске и <img src...> прописывать статически
 

Фанат

oncle terrible
Команда форума
Я не хочу выполнять все эти расчеты внутри каждого
скрипта-картинки, но мне не вполне понятно ,как я могу передать
информацию из документа в скрипт картинки.
вот и не выполняй.
рисуй картинки один раз, сохраняй на диск, а потом показывай
 

Alexandre

PHPПенсионер
Игорёк
1) используй сессии, а SID передавай в картинку в ввиде параметра, это оптимально.
2) можешь организовать свои сесии в БД, как ты и предлагал:
надо во время формирования документа
записывать в базу эти данные с уникальным ключом, а ключ передавать
при вызове картинки: <img src="mypicture.php?key=744">
3) а что мешает тебе писать картинку в файл, и ее просматривать как картинку? только появится проблема удаления этих "старых" файлов, как впрочем рано или позно вылезет проблема удаления по key в БД (способ 2), если не предусмотреть ее убиение по окончанию работы скрипта mypicture.php?key=744
 

Игорёк

Новичок
Diesel
Что это за данные? Откуда берутся?
Информация с датчиков о параметрах технологического
процесса (текущее давление, расход и т.д.), а также
данные о потреблении пара и газа. По ним считаются
всякие производные значения, строятся различные графики.

StUV
если картинка рисуется только при обновлении некоторой информации, то имеет смысл ее рисовать при обновлении данных в базе и сохранять на диске и <img src...> прописывать статически
Фанат
вот и не выполняй.
рисуй картинки один раз, сохраняй на диск, а потом показывай
Картинки будут у всех пользователей разные (один пользователь
вызвал несколько графиков за сутки назад, другой за неделю назад,
третий текущие - чаще всего текущие смотрят). Непродуктивно получается,
потом надо будет накопившиеся картинки удалять.

А что, на стороне сервера, кроме как через базу нельзя одному
скрипту оставить уникальную информацию, а другому ее подобрать?
Как-нибудь через сессии? Я правда с ними еще не разбирался.


~~~~

Пока писал свой ответ, появился пост от Alexandre
спасибо, попробую через сессии, это лучше чем своё городить.
 

Фанат

oncle terrible
Команда форума

StUV

Rotaredom
Игорёк
с какой частотой обновляются данные с датчиков на сервере ?
 

_RVK_

Новичок
один пользователь
вызвал несколько графиков за сутки назад, другой за неделю назад,
третий текущие - чаще всего текущие смотрят
Получается что данные все равно где-то хранятся? Так в чем тогда проблема?
 

Игорёк

Новичок
StUV
с какой частотой обновляются данные с датчиков на сервере ?
где-то раз в тридцать секунд

Diesel
Получается что данные все равно где-то хранятся? Так в чем тогда проблема?
Эти данные не выводятся "как есть", а подвергаются обработке
во время генерирования документа (вычисляются
расчетные параметры и др.), и уже результат выдается.
Один раз произвести обработку - приемлемо (хотя замедление
довольно заметно), а делать это при формировании каждой
картинки в документе - уже слишком.
 

_RVK_

Новичок
Игорёк
Так они всеже где-то хранятся. Если бы нет, то небыло бы возможности показать данные недельной давности. Правильно? Так в чем проблема? Зачем тебе сессии?

И еще один вопрос. Как часто данные меняются? И каково время обработки (генерации) одной картинки.

Но если уж совсем честно, то PHP не предназначен для таких задач, а точнее HTTP не предназначен.
 

StUV

Rotaredom
Diesel
Но если уж совсем честно, то PHP не предназначен для таких задач, а точнее HTTP не предназначен
согласен
Игорёк
где-то раз в тридцать секунд
ок.
сорри за некорректный вопрос
какая частота изменения исходных данных значима для пользователя ?

т.е. при такой "смене кадров" используя _данную_технологию_ ты практически получаешь real-time моделирование своего процесса
если это необходимость - тогда (имхо) единственный вариант - инициализировать определенный набор переменных значениями с твоих датчиков и инклудить расчетные библиотеки....

но....
полностью поддерживаю Diesel'я - это неправильный путь...
 

Игорёк

Новичок
Почему это PHP и HTTP не предназначен? Так я его предназначу! Начальству ведь нравиться следить за состоянием производства из любой точки - хоть с работы хоть из дома по обычному интернету. И деньги за это нормальные платят. Так что меня ничто не остановит. Тем более уже почти все работает, начал делать с сессиями - предварительные результаты хорошие.

Сорри, уезжаю в командировку, так что дискуссию смогу возобновить только через неделю.
 
Сверху