Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Запрет на кэшерование изображения


Автор: WWWeb 25.7.2006, 18:36
Дело такое:
На странице отображается картинка по адрессу server.com/img.jpg 
Под этой картинкой есть поле, через которое пользователь загружеает на сервак изображение, а далее из tmp_name копирую в server.com/img.jpg . Но при загрузке страницы отображается старая картинка, т.к. она в кеше под именем server.com/img.jpg 
Как сделать чтобы картинка не кэшировалась?

Пробовал 
Код

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-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");


Код

<meta http-equiv="Expires" content="Mon, 26 Jul 1997 05:00:00 GMT" />
<meta http-equiv="Pragma" content="no-cache" />    


Не помогло...
P.S И желательно без GD
  

Автор: Mal Hack 25.7.2006, 19:18
Делать image.png?ahfkjahdjkhasdjhsjk - код - рэндомный.
или картинку выводить через PHP. 

Автор: szz 26.7.2006, 10:39
Цитата
Делать image.png?ahfkjahdjkhasdjhsjk

   Ну, это нормальный способ, но все-таки хак (неспроста отвечающего зовут Mal Hack smile  )

Цитата
или картинку выводить через PHP.  
   Вот. Но никто не гарантирует что и это браузер не закеширует. 
А чтоб еще больше шансов было, перед выводом картинки надо отправить хедеры:
Код
header("Cache-Control: no-cache, must-revalidate"); 
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); 

  С мануала стащил. Вторая строчка - тоже хак. Во блин smile 

Автор: smartov 26.7.2006, 11:00
szz, а разве хак это плохо? :\ 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)