Heim > Backend-Entwicklung > PHP-Tutorial > Der Caching-Mechanismus von PHP realisiert die gemeinsame Nutzung von statischem Seitencode

Der Caching-Mechanismus von PHP realisiert die gemeinsame Nutzung von statischem Seitencode

小云云
Freigeben: 2023-03-20 06:32:01
Original
1544 Leute haben es durchsucht

Dieser Artikel stellt Ihnen hauptsächlich eine Methode vor, um eine Seitenstatikisierung mithilfe des ob-Cache-Mechanismus von PHP zu erreichen. Der Herausgeber findet es ziemlich gut, deshalb teile ich es jetzt mit Ihnen und gebe es als Referenz. Folgen wir dem Herausgeber, um einen Blick darauf zu werfen. Ich hoffe, es kann allen helfen.

Lassen Sie uns zunächst einige häufig verwendete Funktionen im ob-Cache in PHP vorstellen

ob_start(): Aktivieren Sie den Caching-Mechanismus

ob_get_contents(): Holen Sie sich den ob-Cache. Der Inhalt von

ob_clean() löscht den Inhalt im ob-Cache, schließt den Cache jedoch nicht.

ob_end_clean() löscht den Inhalt des ob-Cache und schließt den Cache

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

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

flush erzwingt die Der Inhalt im Ausgabecache muss aktualisiert werden.

Gemäß den Bestimmungen des http-Protokolls kann der Antwortinhalt nicht vor dem Antwortheader ausgegeben werden. Daher tritt bei einer Inhaltsausgabe vor der Funktion header() ein Fehler auf Nach der Verwendung von ob_start () wird der Antwortinhalt jedoch zuerst im ob-Cache abgelegt und der Header wird nicht erneut gesendet, wodurch das Problem des Header ()-Fehlers behoben wird.

Lassen Sie uns darüber sprechen, wie Sie den mit PHP gelieferten ob-Cache-Mechanismus verwenden, um eine Seitenstatisierung 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:

Stellen Sie uns ein. Der abgefragte Inhalt wird direkt in der HTML-Datei gespeichert. Wenn die Datei nicht vorhanden ist, greifen Sie auf die Datenbank zu und führen Sie den entsprechenden Abfragevorgang aus.

Wenn Sie möchten Um die Ablaufzeit der Datei festzulegen, können Sie die if-Anweisung verwenden. Fügen Sie eine Beurteilungsbedingung hinzu, um zu beurteilen, ob die Cache-Datei abgelaufen ist, time() – die festgelegte Ablaufzeit.

Verwandte Empfehlungen:

Teilen von Seitenstatikisierungsbeispielen

ThinkPHP3.2.3-Methode zur statischen Implementierung von Seiten

Mehrere Freigaben der statischen Implementierung von PHP-Seiten

Das obige ist der detaillierte Inhalt vonDer Caching-Mechanismus von PHP realisiert die gemeinsame Nutzung von statischem Seitencode. 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