Отключить кеш для некоторых изображений - PullRequest
93 голосов
/ 08 апреля 2009

Я генерирую некоторые изображения, используя PHP lib.

Иногда браузер не загружает новый сгенерированный файл.

Как отключить кэш только для изображений, созданных мной динамически?

Примечание: я должен использовать одно и то же имя для созданных изображений с течением времени.

Ответы [ 13 ]

0 голосов
/ 18 декабря 2014

Простой, отправьте один заголовок местоположения.

Мой сайт, содержит одно изображение, и после загрузки изображение там не меняется, затем я добавляю этот код:

<?php header("Location: pagelocalimage.php"); ?>

Работа для меня.

0 голосов
/ 26 февраля 2014

Если у вас есть жестко закодированный URL-адрес изображения, например: http://example.com/image.jpg, вы можете использовать php для добавления заголовков к своему изображению.

Сначала вам нужно будет заставить apache обработать ваш jpg как php. Посмотреть здесь: Возможно ли выполнить PHP с расширением file.php.jpg?

Загрузить изображение (imagecreatefromjpeg) из файла, затем добавить заголовки из предыдущих ответов. Используйте заголовок функции php для добавления заголовков.

Затем выведите изображение с помощью функции imagejpeg.

Обратите внимание, что php обрабатывать изображения в формате jpg крайне небезопасно. Также имейте в виду, что я не тестировал это решение, так что вам решать, как оно работает.

0 голосов
/ 24 июля 2012

Я использовал это для решения моей аналогичной проблемы ... отображение счетчика изображений (от внешнего поставщика). Это не обновлялось всегда правильно. А после добавления случайного параметра все работает нормально:)

Я добавил строку с датой, чтобы обеспечить обновление хотя бы каждую минуту.

пример кода (PHP):

$output .= "<img src=\"http://xy.somecounter.com/?id=1234567890&".date(ymdHi)."\" alt=\"somecounter.com\" style=\"border:none;\">";

В результате получается ссылка src, например:

http://xy.somecounter.com/?id=1234567890&1207241014
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...