(PHP) Автообновление картинки при её показе

Yegorchic
Дата: 30.09.2006 17:45:44
Есть файл, к примеру, image.gif. На самом деле это php-скрипт, который возвращает картинку. При каждом показе картинка всегда разная (нет, я не пришу автозащиту от ботов и т.п.).

Эта php-картинка размещена на странице1 и на странице2. Если сначала открыть страницу1, и эта картинка загрузится, то если потом открыть страницу2, то эта картинка возьмется из кэша, а надо, что бы она обновилась.

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

А если ли нечто подобное для картинок таких?
Подскажите, пожалуйста, как это можно сделать, если можно?
Kachalov
Дата: 30.09.2006 18:39:10
- почитайте про протокол HTTP (заголовки: Pragma, Cache-Control, Expires, Last-Modified).

- если не поможет, сходите на курсы.

Изучите основы прежде чем заниматься web-программированием!
Berkut
Дата: 02.10.2006 09:54:53
В качестве параметра передайте картинке текущее время:
<img src="image.php?t=<?php echo time();?>">
Yegorchic
Дата: 02.10.2006 23:15:12
Berkut, не, вы наверное не так поняли... запрос на обновление должен выступать со сторны браузера...

Kachalov, т.е. все эти HTTP-заголовки распространяются и на картинки? Т.е. браузер по-любому запросит сначала заголовки, всегда?
®B!N
Дата: 03.10.2006 09:06:13
Berkut
<img src="image.php?t=<?php echo time();?>">

тут наверно имелось ввиду, что имя рисунка будет меняться со временем, и поэтому не будет грузиться с кеша...
Kachalov
Дата: 03.10.2006 12:26:59
Yegorchic
т.е. все эти HTTP-заголовки распространяются и на картинки? Т.е. браузер по-любому запросит сначала заголовки, всегда?

- для скачивания любого файла (а картинка это файл) браузер отправляет запрос методом GET по протоколу HTTP, на что получает от web-сервера ответ, содержащий статус код ответа, заголовки HTTP и полезное содержимое (в соответствующем порядке).
Браузер запрашивает ресурс, а сервер в ответ шлет заголовки, в частности Content-Type без которого браузер даже не догадается, что именно ему прислали и что с этим делать.
Yegorchic
Дата: 07.10.2006 21:49:46
У меня задаются заголовка так:

Header("Content-type: image/gif");
Header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
Header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
Header("Cache-Control: no-cache, must-revalidate");
Header("Pragma: no-cache");

Впрочем, последнии четыре выдраны из оригинальной справки по PHP..
Но ничего опять же не работает.. картинка не обновляется...