Попытка создать шаблон для доменного имени

Я проверил все ответы по сети, и лучший из них, казалось, был: (на самом деле это не так)

<img src="image.png?cache=none">

.

Однако, если вы add cache = none параметр (который является статическим «ничьим» словом), это ничего не влияет, браузер все еще загружается из кеша.

Решение этой проблемы:

<img src="image.png?nocache=<?php echo time(); ?>">

, где вы в основном добавляете временную метку unix, чтобы сделать параметр динамическим и без кеша, он работал.

Однако моя проблема была немного иной: я загружал на лету сгенерированное изображение диаграммы php и контролировал страницу с параметрами $ _GET. Я хотел, чтобы изображение читалось из кеша, когда параметр URL GET остается прежним и не кэшируется при изменении параметров GET.

Чтобы решить эту проблему, мне нужно было хеш $ _GET, но поскольку это массив здесь - это решение:

$chart_hash = md5(implode('-', $_GET));
echo "<img src='/images/mychart.png?hash=$chart_hash'>";

Edit:

Хотя вышеупомянутое решение работает нормально, иногда вы хотите обслуживать кешированную версию UNTIL, файл изменен. (с приведенным выше решением, он полностью отключает кеш для этого изображения) Таким образом, для обслуживания кэшированного изображения из браузера UNTIL есть изменение в использовании файла изображения:

echo "<img src='/images/mychart.png?hash=" . filemtime('mychart.png') . "'>";

filemtime () получает время изменения файла.

0
задан Toon Krijthe 7 September 2012 в 12:03
поделиться