SELFPHP

SELFPHP-Druckversion
Original Adresse dieser Seite:
http://www.selfphp.de/praxisbuch/praxisbuchseite.php?site=292&group=51
© 2001-2017 E-Mail SELFPHP OHG, info@selfphp.de
© 2005-2017 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Cachen vermeiden


Sie haben auch die Möglichkeit, das Cachen einer Seite explizit zu unterbinden:

<?php
// Datum aus Vergangenheit
header("Expires: Mon, 12 Jul 1995 05:00:00 GMT");
// Immer geändert
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
// Speziell für MSIE 5
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
?>

Problematik mit Internet Explorer

Leider werden Pragma und no-cache im IE nicht interpretiert – hier gibt es drei Befehle, auf die Sie zurückgreifen können:

Die einzige Möglichkeit, das Problem zu umgehen, liegt darin, den Cache des IE zu deaktivieren oder ihm zu untersagen, diese Seiten zu cachen! Dies kann sowohl via PHP als auch HTML erfolgen:


PHP

header("Cache-Control: post-check=0, pre-check=0", FALSE);


HTML

<meta http-equiv="Cache-Control" content="post-check=0">
<meta http-equiv="Cache-Control" content="pre-check=0">


Cachen vermeiden via GET-Parameter

Eine Alternative zum Header ist das Anhängen von Parametern an die URL einer Seite.

Beispiel

// URL
www.atomiscript.de/index.php

// Alternative

www.atomiscript.de/index.php?zufall=xxx

Sie müssen lediglich sicherstellen, dass xxx immer etwas anderes ist. Dies lässt sich beispielsweise mithilfe der time()-Funktion erreichen.

Beispiel

<?php
$zeit = time();
echo "<a href = www.atomiscript.de/index.php?zufall=$zeit>AtomicScript</a>";
?>