Tutorials Infos - Anleitungen - Hilfe - Dreamcodes
 

Php Cache

 Gerade bei Websites mit viel Traffic und/oder vielen Seiten mit Datenbankaktionen lohnt es sich, über Cachingmechanismen nachzudenken. Hier bietet PHP eine leicht zu implementierende Möglichkeit.

Das Prinzip des Cachings mit PHP ist relativ einfach:
Beim Aufruf eines PHP-Skripts wird geprüft, ob diese Datei bereits im Cache liegt. Falls ja, wird die gecachte Datei aufgerufen. Falls nein, wird die Originalseite ausgegeben und gleichzeitig eine Cache-Datei angelegt. Der folgende Code geht von Folgendem aus:
die zu chachende Datei endet auf "php", die gechachte Datei soll auf "html" enden,
das Cache-Verzeichnis heißt "my_cache", ist mit Schreibrechten versehen und liegt im Root des Servers.

Script:
<?php
//der Dateiname wird ohne die Endung "php" extrahiert:
$filename= basename($PHP_SELF,"php");

if (file_exists("my_cache/".$filename."html")) {
//wenn sie existiert, leitet die folgende Zeile den Request auf die Cachedatei um
header("Location:my_cache/".$filename."html");
} else{

ob_start();
?>
hier folgt nun der zu cachende Inhalt
<html>
<body>
hier liegen jede Menge Datenbankabfragen etc.
</body>
</html>
<?php
//der Inhalt des Puffers wird in $content abgelegt
$content=ob_get_contents();
//eine Datei mit dem Namen "$filename.cache" wird im Cacheverzeichnis angelegt
$fh=fopen ("my_cache/".$filename."cache", "w");
//der Pufferinhalt wird in diese Datei geschrieben
fputs ( $fh, $content);
fclose($fh);
//die Datei wird auf ihren endgültigen Namen (Endung "html") umbenannt:
rename ("my_cache/".$filename."cache", "my_cache/".$filename."html");
ob_end_flush ();
}
?>

 
ID: 553
eingestellt am: 11.11.2004
Autor: dewi
Status zum lesen: Gast
gelesen: 8057
Webseite: www.dreamcodes.com
[Drucken]