Eigener PHP-Cache für bestimmte Seiten oder Inhalte

Eigener PHP-Cache für bestimmte Seiten oder Inhalte

Mit PHP ist es relativ einfach möglich einen kleinen eigenen PHP-Cache einzubauen. Das ist insbesondere interessant, wenn Ihr Daten von „weit entfernt“ abrufen und verarbeiten müsst oder der PHP-Code grundsätzlich sehr lange für seine Berechnungen benötigt.

Im folgenden Beispiel wird die entsprechende Ausgabe mitgeschnitten und in einer Cache-Datei gespeichert. Zusätzlich wird ein Zeitstempel in einer zusätzlichen Datei festgehalten. Sollte der Cache älter als 3600 Sekunden sein wird die Cache-Datei und die Zeitstempel-Datei wieder erneuert.

Sollte die Cache-Datei bei Aufruf des Scripts jedoch jünger als 3600 Sekunden sein, so wird die in der Cache-Datei gespeicherte Ausgabe ausgeliefert – was letztendlich das Caching darstellt.

<?php
//lautenbacher.io

$cache_f = $_SERVER["DOCUMENT_ROOT"]."cache_".md5($_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']).".cache";
$cache_t = $_SERVER["DOCUMENT_ROOT"]."cache_".md5($_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']).".cachetime";

$dest = time();
$t = "bGF1dGVuYmFjaGVyLmNo";
	
	if(file_exists($cache_t)){
		$ct = file_get_contents($cache_t);
		$t = time();
		$dest = $ct - $t;
	}
	else{
		ob_start();
		
//PHP-Code für den Cache Start
header('Content-type: text/html; charset=ANSI');
echo $content=file_get_contents('http://www.example.com/data.php');
//PHP-Code für den Cache Ende

		$content = ob_get_flush();
		file_put_contents($cache_f,$content);
		$t = time();
		file_put_contents($cache_t,$t);

	}

	
	if($dest < 3600){
		echo file_get_contents($cache_f);
		$ct = file_get_contents($cache_t);

	}
	else{
		ob_start();

//PHP-Code für den Cache Start
header('Content-type: text/html; charset=ANSI');
echo $content=file_get_contents('http://www.example.com/data.php');
//PHP-Code für den Cache Ende
		
		$content = ob_get_flush();
		file_put_contents($cache_f,$content);
		$t = time();
		file_put_contents($cache_t,$t);

	}

Solltet Ihr Hilfe bei Eurer WordPress-Installation oder mit Eurem PHP-Skript benötigen stehe ich Euch zu günstigen Stundensätzen zur Verfügung. Ihr erreicht mich jederzeit über mein Kontaktformular.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert