Heim > Backend-Entwicklung > PHP-Tutorial > Ausführliche Erklärung, wie der ob-Caching-Mechanismus von PHP die Seitenstatik implementiert

Ausführliche Erklärung, wie der ob-Caching-Mechanismus von PHP die Seitenstatik implementiert

墨辰丷
Freigeben: 2023-03-26 22:06:02
Original
1531 Leute haben es durchsucht

In diesem Artikel wird hauptsächlich die Methode zur Statik der Seite mithilfe des ob-Cache-Mechanismus vorgestellt. Interessierte Freunde können darauf verweisen.

Stellen Sie zunächst einige allgemeine Funktionen vor, die häufig im Ob-Cache in PHP verwendet werden

ob_start(): Aktivieren Sie den Caching-Mechanismus

ob_get_contents(): Den Inhalt im Ob-Cache abrufen

ob_clean() Den Inhalt im Ob-Cache löschen, aber den Cache nicht schließen

ob_end_clean() Den Inhalt im Ob-Cache löschen zwischenspeichern und den Cache schließen

ob_flush löscht den Cache, gibt den Inhalt aus, schließt den Cache jedoch nicht

ob_end_flush löscht den Cache, gibt den Inhalt aus und schließt den Cache

flush erzwingt eine Aktualisierung des Inhalts im Ausgabecache

Gemäß den Bestimmungen des http-Protokolls kann der Antwortinhalt nicht vor dem Antwortheader ausgegeben werden. Daher erfolgt die Ausgabe von Inhalten vor dem Header ()-Funktion wird ein Fehler auftreten. Nach der Verwendung von ob_start() wird jedoch der Antwortinhalt zuerst in den ob-Cache gestellt und der Nachrichtenheader wird nicht gesendet, wodurch das Problem von header() gelöst wird. Fehler!

Lassen Sie uns darüber sprechen, wie Sie den PHP-eigenen OB-Cache-Mechanismus verwenden, um eine Seitenstatik zu erreichen

<?php
  
    $id=$_REQUEST[&#39;id&#39;];
    
    //判断缓存文件是否存在,如果存在,直接输出
    if(file_exists(&#39;content&#39;.$id.&#39;.html&#39;)){
      echo file_get_contents(&#39;content&#39;.$id.&#39;.html&#39;);
      return;
    }
    
    //开启缓存机制
    ob_start();
    
    //到数据库中查询所需要的内容
    $conn=mysql_connect("localhost","root","root");
    mysql_select(&#39;db&#39;);
    mysql_query(&#39;set names utf8&#39;);
    
    $sql="select content from table_name where id=$id";
    $res=mysql_query($sql);
    $row=mysql_fetch_assoc($res);
    $content=$row[0];
    
    mysql_free_result($res);
    mysql_close($conn);
    echo $content;
    //将输出的内容保存到文件中,形成静态页面,在下次访问的时候,直接读取输出
    file_put_contents(&#39;content&#39;.$id.&#39;.html&#39;,ob_get_contents());


?>
Nach dem Login kopieren

Wie im obigen Code gezeigt:

Speichern Sie den von uns abgefragten Inhalt. Wenn die Datei vorhanden ist, geben Sie sie aus. Wenn sie nicht vorhanden ist, greifen Sie auf die Datenbank zu und ausführen Entsprechender Abfrageprozess

Wenn Sie die Ablaufzeit der Datei festlegen möchten, können Sie in der if-Anweisung eine Beurteilungsbedingung hinzufügen, um festzustellen, ob die zwischengespeicherte Datei abgelaufen ist, time () – die festgelegte Ablaufzeit

Der obige Artikel verwendet den OB-Cache-Mechanismus, um die Seitenstatik zu erreichen. Ich hoffe, er kann Ihnen eine Referenz geben.

Verwandte Empfehlungen:

Analyse, wie PHP den ob-Cache-Mechanismus verwendet, um seitenstatische Lösungen zu erreichen

php ob-CacheEinführung und detaillierte Erklärung der ob-Funktion

phps ob-Cache

Das obige ist der detaillierte Inhalt vonAusführliche Erklärung, wie der ob-Caching-Mechanismus von PHP die Seitenstatik implementiert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
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