Tipp: Cache mit PHP "aushebeln"

Hilfe zu php Wetterscripten
Antworten
Benutzeravatar
joergeli
Beiträge: 478
Registriert: Mo 29. Mär 2010, 10:33
Wohnort: Heinzenberg / Taunus
Kontaktdaten:

Tipp: Cache mit PHP "aushebeln"

Beitrag von joergeli »

Wahrscheinlich ist es den meisten hier schon bekannt, aber evtl. doch hilfreich für den einen, oder anderen:
Ein kleiner Tipp wie man Cache-Probleme - d.h. Inhalte im Browser werden nicht aktualisiert - mittels PHP umgehen kann.

Auf meinen Seiten kam es zeitweise vor, dass sich Grafiken trotz manuellem Reload der Seite nicht aktualisierten.
Versuche meinerseits, das Problem mit den Meta-Tags, wie z.B.:
<meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="pragma" content="no-cache">

zu umgehen, halfen nicht.

Ein Lösung, die funktioniert, besteht darin, das entspr. Element (Grafik) mit einem PHP-Zeitstempel zu versehen, z.B. so:
<img src="xyz.jpg?<?php echo mktime();?>" border="0">

Der Browser wertet dann nicht nur den reinen Dateinamen aus, sondern zusätzlich auch den angehängten Zeitstempel.
Wenn man die Seite neu lädt, ändert sich der Zeitstempel und für den Browser stellt es sich so dar, als ob sich der Bildname geändert hat,
also lädt er die vermeintlich andere Grafik und holt sie nicht mehr aus dem Cache.

Ein kleiner Nachteil hierbei ist, dass die WEB-Seite als PHP-Seite ( z.B. test.php) umbenannt werden muss, damit sie durch den PHP-Interpreter
des WEB-Servers geschleust wird und dieser damit etwas mehr belastet wird, was sich u.U. in geringen Performance-Verlusten benerkbar machen kann.

Gruß
Jörg
_____________________________________________
Wetterstation Heinzenberg / Taunus
http://www.joergeli.de
WS 2500-PC (V3.1) mit Superhet-Empfänger HFS 302
2xWS 1000, WS 2000, WS2500, WS 3001, WS 3000TV

Arduino-Bastelseite
http://www.arduino.joergeli.de
Antworten