Я проверил все ответы, и лучший из них, кажется, (а это не так):
<img src="image.png?cache=none">
сначала.
Однако, если вы добавите параметр cache = none (который является статическим словом "none"), это ничего не изменит, браузер все еще загружается из кэша.
Решение этой проблемы было:
<img src="image.png?nocache=<?php echo time(); ?>">
, где вы в основном добавляете метку времени unix, чтобы сделать параметр динамическим, а не кеш, он работал.
Однако моя проблема была немного другой:
Я загружал на лету сгенерированное изображение php-диаграммы и управлял страницей с помощью параметров $ _GET. Я хотел, чтобы изображение считывалось из кэша, когда параметр GET URL-адреса остается неизменным, и не кэшировалось при изменении параметров GET.
Чтобы решить эту проблему, мне нужно было хэшировать $ _GET, но поскольку это массив, вот решение:
$chart_hash = md5(implode('-', $_GET));
echo "<img src='/images/mychart.png?hash=$chart_hash'>";
Редактировать
Хотя вышеприведенное решение работает просто отлично, иногда вы хотите использовать кэшированную версию, пока файл не будет изменен. (с вышеупомянутым решением это полностью отключает кеш для этого изображения)
Итак, для обслуживания кэшированного изображения из браузера UNTIL изменилось использование файла изображения:
echo "<img src='/images/mychart.png?hash=" . filemtime('mychart.png') . "'>";
filemtime () возвращает время изменения файла.