Heim > Backend-Entwicklung > PHP-Tutorial > Einführung in die Funktionen der PHP-Seiten-Cache-Ob-Serie

Einführung in die Funktionen der PHP-Seiten-Cache-Ob-Serie

高洛峰
Freigeben: 2023-03-02 19:00:01
Original
1607 Leute haben es durchsucht

PHP-Seiten-Caching verwendet hauptsächlich die ob-Reihe von Funktionen, wie z. B. ob_start(), ob_end_flush(), ob_get_contents()

Das Folgende ist der Codierungsteil.

1. Initialisierungsfunktion, normalerweise Festlegen des Seiten-Cache-Pfads, des Namensformats für Cache-Dateien usw., die je nach persönlichen Vorlieben angepasst werden können. Die hier verwendete Identifikations-ID ist der verschlüsselte Parameter $_SERVER[REQUEST_URI]. Am Ende dieser Funktion gibt es eine if-Beurteilung: Wenn der Cache-Zeitraum nicht abgelaufen ist, laden Sie die Cache-Datei, andernfalls laden Sie die Quelldatei.

Code kopieren Der Code lautet wie folgt:
function page_init()
{
$url = $_SERVER['REQUEST_URI'];// Sub-URL, dieser Parameter ist im Allgemeinen eindeutig
$pageid = md5($url);
$dir = str_replace('/','_',substr($_SERVER['SCRIPT_NAME'],1,-4)); Verzeichnisbenennungsmethode, wie exp_index
if(!file_exists($pd = PAGE_PATH.$dir.'/'))@mkdir($pd,0777) oder die("$pd-Verzeichniserstellung fehlgeschlagen"); >//wie z. B. zwischencache/page/exp_index/
define('PAGE_FILE',$pd.$pageid.'.html');
  // z. B. zwischencache/page/exp_index/cc8ef22b405566745ed21305dd248f0e.html
$contents = file_get_contents( PAGE_FILE);//Auslesen

if($contents && substr($contents, 13, 10) > time() )//Entsprechend dem im page_cache hinzugefügten benutzerdefinierten Header () function
{
echo substr($contents, 27);
exit(0);
}
return true; 2. Seiten-Caching-Funktion, hier wird ein Trick verwendet: Fügen Sie dem Inhalt der Cache-Datei eine Header-Information – die Ablaufzeit – hinzu, sodass Sie jedes Mal nur die Ablaufzeit im Header mit der aktuellen Zeit vergleichen müssen (durchgeführt in Mit der Funktion page_init() können Sie feststellen, ob der Cache abgelaufen ist.
Code kopieren Der Code lautet wie folgt:
function page_cache($ttl = 0)
{
$ttl = $ttl ? $ttl : PAGE_TTL;//Cache-Zeit, Standard 3600s
$contents = ob_get_contents();//Inhalt aus Cache abrufen
$contents = "n".$contents; 🎜> //Benutzerdefinierten Header hinzufügen: Ablaufzeit = Generierungszeit + Cache-Zeit
file_put_contents(PAGE_FILE, $contents); //In Cache-Datei schreiben
ob_end_flush(); //Cache freigeben
}

3. Funktionsverwendung, bitte beachten Sie, dass diese beiden Funktionen eine sequentielle Ausführungsreihenfolge haben, und vergessen Sie nicht ob_start()
Kopieren Sie den Code. Der Code lautet wie folgt:
page_init() ;//Initialisierung des Seitencaches
ob_start();//Caching einschalten

...//Codesegment

page_cache(60);//Normalerweise die letzte Zeile

?>

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage