Tüm cevapları kontrol ettim ve en iyisi göründü (ki değil):
<img src="image.png?cache=none">
Başta.
Ancak, cache = none parametresini (statik "yok" kelimesi olan) eklerseniz , hiçbir şeyi etkilemez, tarayıcı yine de önbellekten yükler.
Bu sorunun çözümü şuydu:
<img src="image.png?nocache=<?php echo time(); ?>">
Parametreyi dinamik yapmak ve önbellek olmadan temelde unix zaman damgası eklediğiniz yerde işe yaradı.
Ancak benim sorunum biraz farklıydı: Anında oluşturulmuş php grafik görüntüsünü yüklüyordum ve sayfayı $ _GET parametreleriyle kontrol ediyordum. URL GET parametresi aynı kaldığında görüntünün önbellekten okunmasını ve GET parametreleri değiştiğinde önbelleğe alınmamasını istedim.
Bu sorunu çözmek için $ _GET hash'lamam gerekiyordu ama dizi olduğu için çözüm burada:
$chart_hash = md5(implode('-', $_GET));
echo "<img src='/images/mychart.png?hash=$chart_hash'>";
Düzenle :
Yukarıdaki çözüm gayet iyi çalışsa da, bazen dosya değişene KADAR önbelleğe alınmış sürümü sunmak istersiniz. (yukarıdaki çözümle, bu görüntünün önbelleğini tamamen devre dışı bırakır) Dolayısıyla, tarayıcıdan önbelleğe alınmış görüntüyü sunmak için görüntü dosyası kullanımında bir değişiklik OLANA KADAR:
echo "<img src='/images/mychart.png?hash=" . filemtime('mychart.png') . "'>";
filemtime () dosya değiştirme zamanını alır.