[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Кеширование картинок
Remka
Всем привет!

Стоит задача создать небольшой редактор изображений.
Сам редактор я сделал. и все работает на ура.
Но есть одна очень не приятная вещь.

При редактировании изображения браузер его кеширует.
И если после обработки сохранить часть изображения то по факту оно сохранится как мы выбрали но в редакторе откроется то старое (закешированное изображение).

Редактор сделан по средствам ajax в модальном окне и все попытки сбросить кеш в нутри запроса не прошли, также пытался сбрасывать прям в html.

Далее если использовать ctrl+r или ctrl+f5 то кеш страницы сбрасывается но после повторного открывания редактора изображения все равно берется из кеша. Помогает только полная очистка кеша браузера.

как я делаю:
Библиотека jquery метод .post() вызываю ajax.php (передаю параметры запроса)
Дальше в файле смотрю параметр и подключаю нужный файл (в данном случае это редактор изображений)
И в этом файле уже делаю все что надо сделать с картинкой.
В файле ajax.php запрещаю браузеру кешировать следующим образом:

header('Last-Modified: '. gmdate('D, d M Y H:i:s', time()) . ' GMT');
header('Expires: '. gmdate('D, d M Y H:i:s', time()) . ' GMT');
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");


Это не помогает.
Также пробовал переносит данный код непосредственно в файл который собирает редактор изображений, результатов не принесло.

Вопросы:
Что я не так делаю?
Как запретить браузеру кешировать в нутри Ajax запроса?



Спустя 1 час, 21 минута, 50 секунд (3.08.2012 - 15:33) killer8080 написал(а):
Remka
дописывай новый параметр к запросу картинки

Спустя 9 минут, 27 секунд (3.08.2012 - 15:42) Remka написал(а):
Ты имеешь в виду каждый раз в post генерировать случайное число?

Спустя 33 минуты, 44 секунды (3.08.2012 - 16:16) killer8080 написал(а):
типа такого
<img src="./images/pic.gif?<?=filemtime(DOC_ROOT.'/images/pic.gif');?>" alt="pic" />

Спустя 5 минут, 2 секунды (3.08.2012 - 16:21) Remka написал(а):
ага спасибо!
Все заработало.

Сделал так:

$rand_param = null;
for($i='0';$i<'25';$i++){
$rand_param.= mt_rand('10','999');
}


и html
<img src="'. $image_patch .'?%'. $rand_param .'%" />

Спустя 37 минут, 38 секунд (3.08.2012 - 16:58) killer8080 написал(а):
Цитата (Remka @ 3.08.2012 - 17:21)
ага спасибо!
Все заработало.

Сделал так:

$rand_param = null;
for($i='0';$i<'25';$i++){
$rand_param.= mt_rand('10','999');
}


и html
<img src="'. $image_patch .'?%'. $rand_param .'%" />

Зачем такие сложности? Тогда уж можно было просто метку времени подставлять.

Спустя 3 часа, 12 минут, 56 секунд (3.08.2012 - 20:11) Remka написал(а):
Согласен. Не подумал
по сути это значение должно просто отличатся от предидущего
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.