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['id']; //判断缓存文件是否存在,如果存在,直接输出 if(file_exists('content'.$id.'.html')){ echo file_get_contents('content'.$id.'.html'); return; } //开启缓存机制 ob_start(); //到数据库中查询所需要的内容 $conn=mysql_connect("localhost","root","root"); mysql_select('db'); mysql_query('set names utf8'); $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('content'.$id.'.html',ob_get_contents()); ?>
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.
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
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!