Запрет кеширования картинок

Статус
В этой теме нельзя размещать новые ответы.

nfkgtu

Новичок
Запрет кеширования картинок

Люди помогите пожалуйста мне необходимо запретить кеширование картинок браузером клиента, вот этот код
Header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); //Дата в прошлом
Header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
Header("Pragma: no-cache"); // HTTP/1.1
Header("Last-Modified: ".gmdate("D, d M Y H:i:s")."GMT");

не работает, он запрещает только кеширование хтмл страниц, а фотки все равно кешируются, можно ли как-нибудь это реализовать средствами php , за ранее спасибо!
 

DeFacto

Новичок
nfkgtu
как вариант
делаешь скрипт image.php и через него указываешь картинки
например
<img src='image.php?picid=10&rnd=<?php print time(); ?> '>
 

svetasmirnova

маленький монстрик
>не работает, он запрещает только кеширование хтмл страниц, а фотки все равно кешируются
Правильно, фотки же передаются только после отдельного запроса.
Твоя проблема решается средствами сервера. Для Apache см. директивы Expires*
DeFacto
А смысл?
 

ForJest

- свежая кровь
svetasmirnova
Смысл в том, что это простой и эффективный способ борьбы с кэшированием - указать изменяющийся параметр в URL. Ну и работает этот способ всегда :).
 

nfkgtu

Новичок
<img src='image.php?picid=10&rnd=<?php print time(); ?> '>
Это меня вряд ли спасет наверное потому что имена файлов то те же самые будут в кеше, а с апачем че то не очень хороший выход, проблема в том что у меня галлерея работает так что все фотки (имна файлов jpg) по номерам по порядку и при удалении какй нить фотки все сдвигается а браузер обращаясь к странице смотри и грузит фотки из кеша например 5.jpg у него есть он его и грузит а на самом деле на сервере уже вместо 5-й фотки лежит 6-я так как 5-ю фотку удалили и произошла перенумерация всех фоток, вот и начинаются глюки фотка одна показывает а на самом деле там другая
 

Profic

just Profic (PHP5 BetaTeam)
Самый правильный способ: не перенумеровывать фотки.
 

nfkgtu

Новичок
блин тогда все переписывать перейдется все галерею!
 

svetasmirnova

маленький монстрик
А почему с Апачом-то не пойдёт? Поставишь no-cache, must-revalidate для изображений и не будут кешироваться.
 

nfkgtu

Новичок
SvetaSmirnova, тогда давай поподробнее че куда и как какую строчку

а то я че то нашел там Char......DisableExpire Off прописал в httpd.conf у меня вообще апач перестал грузится , можно ли сделать это через .htaccess если да то вот это бы было хорошо , мне на весь сайт не желательно кеширование картинок запрещать мне бы только на галерею, вот с хиакцесс бы было хорошо закинул бы его в папочку!
 

SiMM

Новичок
nfkgtu,
> Самый правильный способ: не перенумеровывать фотки.
PHP FAQ: MySQL. FAQ. ID.
Обсуждать остальное не имеет смысла до тех пор, пока решение не будет нормальным.
 

svetasmirnova

маленький монстрик
nfkgtu
но я же ответила: см. директивы Expires*
да, в .htacces можно

-~{}~ 18.09.05 01:18:

Кстати, Header директиву можно ещё посмотреть. Но я Expires* использую в подобных случаях
 

tristram

Guest
ржунимагу. многим броузерам чхать на заголовки в данном случае. самое правильное это добавить &rnd=".rand(1,999).", таким образом броузер не может знать та ли картинка по ссылке или нет. Ведь кеширует он адрес картинки.
 

SiMM

Новичок
> многим броузерам чхать на заголовки
Список приведите. Я думаю, если их так много - большого труда не составит вспомнить хотя бы пару-другую.
 

Фанат

oncle terrible
Команда форума
предлагаю оставить дурацкую тему кэширования, и вдолбить таки аффтару в голову ПРАВИЛЬНЫЙ путь решения его глупой проблемы
 

tristram

Guest
SiMM
я сталкивался с такой проблемой на старых версиях оперы, net captor, кеширующие прокси (!).
Фанат
в десятку.
 

Фанат

oncle terrible
Команда форума
SiMM
Буквально неделю назад исправил в настройках ИЕ у приятеля "Проверять обновление страниц" на "авто "с "никогда"
откуда оно там взялось - говорит, не знает.
Но он не один такой.
 

SiMM

Новичок
Фанат, ну он тут сам себе злобный буратино.
В любом случае пока нужно бороться с кривым решением, а не с кэшем. А вместо того, чтобы пихать rand в ссылку, куда разумнее пихать хэш файла или дату его модификации. По крайней мере это экономит траффик.
 

tristram

Guest
SiMM
ну дык. ранд это к примеру. можно substr(md5_file("image.jpg"),0,5);
вопрос был задан как избавится от кеширование вообще а не временно или по каким-то условиям, например по условию изменен ли файл которое мы задаем используя вышеприведенный пример.
 

SiMM

Новичок
> вопрос был задан ...
Сколько раз уже на этом форуме говорили о бессмысленности прямых ответов на вопросы во многих случаях (нет смысла лечить следствие, когда невылечена причина.). Не надо менять id. И точка. Не для этого он придуман. Про кэширование давно пора забыть. Не в этом у человека проблема.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху