Archief - PHP: Firefox negeert header's?

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

JohnBeton

Legacy Member
File (rand_img.php) die image genereert stuurt volgende headers (om er voor te zorgen dat image elke keer opnieuw wordt gegenereert, en dus niet uit browser cache wordt gehaald):
PHP:
//rand_img.php
header("Expires: Mon, 26 Jul 1990 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); 
header("Cache-Control: no-store, no-cache, must-revalidate"); 
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header("Content-type: image/png");
//...

Andere pagina:
PHP:
<img src="rand_img.php" alt="xxx" ID="xxx" onClick="this.src='rand_img.php';">



In IE werkt dit zonder problemen: elke keer ik de image aanklik, krijg ik een nieuwe te zien.
In Firefox werkt dit echter niet; ik krijg steeds dezelfde image terug (maw: wordt toch gecached). Als ik de cache leegmaak en vervolgens (zonder te refreshen) klik, krijg ik wel een nieuwe image.

Hoe kan ik dit oplossen?

JohnBeton

Legacy Member
Heb het voorlopig zo opgelost:
PHP:
onClick="this.src='rnd_img.php&rnd='+ (new Date()).getTime();"

Maar een andere oplossing (zonder Javascript) is zéker welkom!

killgore

Legacy Member
Kunt altijd met dit controleren:
http://livehttpheaders.mozdev.org/

Ga ook eens direct naar je rand_img.php, als hij daar altijd iets anders geeft ligt het probleem niet aan die headers ;). Ik vermoed zeer sterk dat firefox gaat kijken naar die src en zien dat dit hetzelfde is als vorige keer & daarom geen update uitvoert :).
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan