Forum Webscript.Ru
Дизайн и Верстка => Всё о Html => Тема начата: Alecsey2 от 09 Января 2004, 15:52:31
-
Суть:
Есть php-скрипт генерирующий картинку в файл.
Есть php-страница вызывающая скрипт и отображающая картинку из файла.
Проблема в том что при повторном запуске (например уходим вперед по ссылке, а затем жмем кнопку браузера back) скрипт сохраняет на диск новую картинку, но в браузере отображаеться старая, похоже из локального кэша.
(Есть инструкции META "Pragma: no-cache", "Expires: 0", "Cache-Control: post-check=0, pre-check=0",
текстовая инфа отображается актуально,
браузер IE.6)
Как заставить браузер грузить картинку с диска?
-
Да, забыл пояснить, что картинка выводится с помощью html-тега IMG
-
Может, кто победил это по-другому и опишет свой способ, то, к чему я пришел:
Создал скрипт на php, который выводит картинку, но перед этим отсылает
header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past
header ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
// always modified
header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header ("Pragma: no-cache"); // HTTP/1.0
потом отсылает:
header("Content-type: image/jpeg");
и делает:
readfile("$_GET[\'name\']");
в html пишем

Все очень упрощенно, тут только идея.
-
Yukko
Я смог победить только добавив дополнительную переменную в строке браузера, которая является случайной последовательностью, т.к., насколько я понимаю, страница динамическая, то можно добавить данную переменную во все ссылки...
-
Phoinix:
смог победить только добавив дополнительную переменную в строке браузера
Страницы сгенереные GET POST не кэшируются, но у при тесте в разных браузерах... короче давно это было, но я заморочился с Оперой, которой случайная последоватьльность была до глубины ее кэша. Не знаю, может, у меня версия какая неправильная была... а еще одно дело GET/POST запрос на страницу, другое дело статический запрос на рисунок: www.myserver/my.gif его тоже надо посредством GET POST выводить
-
надо посредством GET POST выводить
[OFF]сильно сказано...
нужно будет запомнить :D[/OFF]
чем отличается "запрос на страницу" от "запрос на рисунок"?
заголовки это конечно правильно,
но замечалось что невсегда срабатывает, то кеш на сервере игнорирует, то кеш браузера, то кеш прокси...
рандомное значение в строке запроса всегда(почти?) рулило
-
Alone
каждый понял, что я имел в виду... :)
Alone:
всегда(почти?) рулило
если бы не возникло такой траблы, то я бы даже не морочился :) :) :) можно поступить по-другому, взять и скомбинировать все способы :)
-
Страницы сгенереные GET POST не кэшируются
Значит у меня тоже какой-то браузер левый :)
Кеширует гад страницы сгенеренные GET и POST, если параметры те же...
-
Yukko:
и делает:
readfile("$_GET[\'name\']");
в html пишем

Все очень упрощенно, тут только идея.
Теперь сплю спокойно... :)
Спасибо за идею!