Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как сделать, чтоб картинка не кэшировалась?

1.8K
03 декабря 2006 года
Валериус
190 / / 14.07.2006
Как сделать так, чтобы браузер не сохранял картинку в кэш?
Я вставил в код ссылку на картинку статуса ICQ (нагло спёр отсюда), но она один раз загрузилась, как зелёная, а потом я меняю статус, а картинка не меняется. Просмотр статуса из сети включён. Т.е. либо браузер её закэшировал, либо где-то на полпути ей закэшировали. Кстати, прокси я тоже не пользую.
1.8K
04 декабря 2006 года
Валериус
190 / / 14.07.2006


Да это я знаю, это естественно. Но ведь мне нужно отменить кэширование для одной-единственной картинки, которая, помимо прочего, лежит на стороннем сервере.

15
04 декабря 2006 года
shaelf
2.7K / / 04.05.2005
<img src="1.jpg?1234"/> Где вместо 1234 любое рандомное значение (именно рандомное). Ссылка на картинку будет всегда иметь разный URL из-за этого не будет кэшироваться.
1.8K
06 декабря 2006 года
Валериус
190 / / 14.07.2006
Цитата: shaelf
<img src="1.jpg?1234"/> Где вместо 1234 любое рандомное значение (именно рандомное). Ссылка на картинку будет всегда иметь разный URL из-за этого не будет кэшироваться.



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

UPD
: Кстати, а почему на ICQ.com работает без этих мудростей?

1.8K
07 декабря 2006 года
Валериус
190 / / 14.07.2006
Нашёл решение. Гениальное и изящное :)

Ссылку на изображение сделал такой:
[HTML]<img src="icqstat.php?uin=317391320">[/HTML]
А в файле icqstat.php такой вот код:
 
Код:
<?php
  header("Content-type: image/gif");
  header('Cache-Control: no-cache');
  readfile("http://status.icq.com/online.gif?icq=".$_GET[uin]."&img=26");
?>


Наткнулся в этом посте.
13
07 декабря 2006 года
RussianSpy
3.0K / / 04.07.2006
Ну тогда уж правильно будет так:

 
Код:
header("Expires: Mon, 01 Jan 2000 00:00:00 GMT");  
        header("Cache-Control: no-cache, must-revalidate");
        header("Pragma: no-cache");
        header("Last-Modified: ".gmdate("d, d m y h:i:s")." GMT");
12
07 декабря 2006 года
alekciy
3.0K / / 13.12.2005
Цитата: Валериус
Нашёл решение. Гениальное и изящное :)

Ссылку на изображение сделал такой:
[HTML]<img src="icqstat.php?uin=317391320">[/HTML]
А в файле icqstat.php такой вот код:
 
Код:
<?php
  header("Content-type: image/gif");
  header('Cache-Control: no-cache');
  readfile("http://status.icq.com/online.gif?icq=".$_GET[uin]."&img=26");
?>


Наткнулся в этом посте.


Я тебе тоже самое предлагал. Хотя не развернуто. Думал остальное сам уж догонишь.

1.8K
10 декабря 2006 года
Валериус
190 / / 14.07.2006
Цитата: RussianSpy
Ну тогда уж правильно будет так:
<...>


Перестраховщик :)
в хорошем смысле.

alekciy, просто я даже подумать не мог, что в src картинки можно писать другое какое-то расширение.

12
10 декабря 2006 года
alekciy
3.0K / / 13.12.2005
Цитата: Валериус
Перестраховщик :)
alekciy, просто я даже подумать не мог, что в src картинки можно писать другое какое-то расширение.


Ааа... ну это не совсем к картике расширение... картинка как была, так и осталась. Просто теперь она выдается через скрипт, поэтому на клиент нужно соответствующие заголовки отправить (указанные в линке). А вообще, можно так настройки выставить, что бы для файлы с раширение .jpg могли выполнятся как PHP скрипты. Тогда называешь скрипт неким именем, а расширение ему даешь не .php, а .jpg либо другой графический файл. Для клиента тогда это выглядит как картинки со всех точек зрения.

8
10 декабря 2006 года
mfender
3.5K / / 15.06.2005
Да-да. Вот у меня адресочек - с виду картинка, на деле - скрипт. Кстати, загружается каждый раз правильно, не из кэша.
15
10 декабря 2006 года
shaelf
2.7K / / 04.05.2005
2alekciy Не самое лучшее решение, т.к. интерпретатор будем пытаться найти php код в каждой картинке, а это удар по произодительности.
12
10 декабря 2006 года
alekciy
3.0K / / 13.12.2005
А кто говорит, что лучшее? Просто возможное. Понятное дело, что самое разумное из изменять переменные окружения сервера для данного скрипта и не более. Что бы расширение .jpg воспринималось интерпретатором как PHP код только в ходе выполнения данного скрипта.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог