Heim >Backend-Entwicklung >PHP-Tutorial >Beherrschen Sie mehrere gängige Methoden der Seitenstatikisierung
Es wird oft gesagt, dass es zwei Arten der Seitenstatisierung gibt: die eine ist pseudostatisch, also das Umschreiben der URL, und die andere ist die echte Statik. Konzentrieren wir uns auf die echte Statik.
Was ist PHP static
Ein einfaches Verständnis der PHP-Statisierung besteht darin, die von der Website generierten Seiten in Form von statischem HTML anzuzeigen. Die PHP-Statisierung wird in reine Statik und Pseudo-Statisierung unterteilt PHP generiert statische Seiten.
Warum Webseiten statisch machen
?
1. Beschleunigen Sie das Öffnen und Durchsuchen von Seiten. Statische Seiten müssen nicht mit der Datenbank verbunden werden und sind deutlich schneller als dynamische Seiten
2. Es ist förderlich für die Suchmaschinenoptimierung (SEO) und legt Wert darauf, statische Seiten einzubinden, die nicht nur schnell, sondern auch vollständig eingebunden werden
3. Reduzieren Sie die Belastung des Servers und surfen Sie im Internet, ohne die Systemdatenbank aufzurufen
4. Die Website ist sicherer und HTML-Seiten sind nicht von PHP-bezogenen Schwachstellen betroffen. Bei größeren Websites handelt es sich grundsätzlich um statische Seiten, die Angriffe reduzieren und SQL-Injection verhindern können.
Wenn ein Datenbankfehler auftritt, wird der normale Zugriff auf die Website nicht beeinträchtigt.
Obwohl das Generieren von HTML-Artikeln mühsamer und komplizierter ist, lohnen sich diese Opfer dennoch, um die Suche bequemer, schneller und sicherer zu machen.
So generieren Sie statische HTML-Seiten mit PHP
Generieren Sie statische Seiten mit PHP-Vorlagen
Es ist sehr praktisch, eine Statik von PHP-Vorlagen zu erreichen. Sie können beispielsweise PHP Smarty installieren und verwenden, um eine statische Website zu erstellen. Sie können auch Ihren eigenen Satz von Vorlagen-Parsing-Regeln schreiben, um verschiedene CMS-Vorlagen zu imitieren.
1. Verwenden Sie die Funktionen zum Lesen und Schreiben von PHP-Dateien und den OB-Caching-Mechanismus, um statische Seiten zu generieren
Die Adresse der dynamischen Detailseite eines bestimmten Produkts lautet beispielsweise: http://xxx.com?goods.php?gid=112
Hier lesen wir also den Inhalt dieser Detailseite basierend auf dieser Adresse und speichern ihn dann als statische Seite. Wenn jemand das nächste Mal die dynamische Adresse dieser Produktdetailseite besucht, können wir
Geben Sie die entsprechende generierte statische Inhaltsdatei direkt aus.
2. Verwenden Sie nosql, um Inhalte aus dem Speicher zu lesen (tatsächlich ist dieser nicht mehr statisch, sondern zwischengespeichert);
<!--?<span>php </span><span>$gid</span> = <span>$_GET</span>['gid']+0;<span>//</span><span>商品id</span> <span>$goods_statis_file</span> = "goods_file_".<span>$gid</span>.".html";<span>//</span><span>对应静态页文件</span> <span>$expr</span> = 3600*24*10;<span>//</span><span>静态文件有效期,十天</span> <span>if</span>(<span>file_exists</span>(<span>$goods_statis_file</span><span>)){ </span><span>$file_ctime</span> =<span>filectime</span>(<span>$goods_statis_file</span>);<span>//</span><span>文件创建时间 </span> <span>if</span>(<span>$file_ctime</span>+<span>$expr</span>--><span>time</span>()){<span>//</span><span>如果没过期</span> <span>echo</span> <span>file_get_contents</span>(<span>$goods_statis_file</span>);<span>//</span><span>输出静态文件内容</span> <span>exit</span><span>; }</span><span>else</span>{<span>//</span><span>如果已过期</span> <span>unlink</span>(<span>$goods_statis_file</span>);<span>//</span><span>删除过期的静态页文件</span> <span>ob_start</span><span>(); </span><span>//</span><span>从数据库读取数据,并赋值给相关变量 //include ("xxx.html");//加载对应的商品详情页模板</span> <span>$content</span> = <span>ob_get_contents</span>();<span>//</span><span>把详情页内容赋值给$content变量</span> <span>file_put_contents</span>(<span>$goods_statis_file</span>,<span>$content</span>);<span>//</span><span>写入内容到对应静态文件中</span> <span>ob_end_flush</span>();<span>//</span><span>输出商品详情页信息</span> <span> } }</span><span>else</span><span>{ </span><span>ob_start</span><span>(); </span><span>//</span><span>从数据库读取数据,并赋值给相关变量 //include ("xxx.html");//加载对应的商品详情页模板</span> <span>$content</span> = <span>ob_get_contents</span>();<span>//</span><span>把详情页内容赋值给$content变量</span> <span>file_put_contents</span>(<span>$goods_statis_file</span>,<span>$content</span>);<span>//</span><span>写入内容到对应静态文件中</span> <span>ob_end_flush</span>();<span>//</span><span>输出商品详情页信息</span> <span> } </span>?>Nehmen Sie als Beispiel Memcache:
Memcached weist eine Eins-zu-eins-Entsprechung zwischen Schlüsseln und Werten auf. Die Standardschlüsselgröße darf 128 Byte nicht überschreiten, und die Standardwertgröße beträgt 1 MB. Daher kann die Größe von 1 MB den Speicherbedarf der meisten Webseiten erfüllen.
Die oben genannten Methoden zur Seitenstatik sind hoffentlich für meine Freunde hilfreich
<!--?<span>php </span><span>$gid</span> = <span>$_GET</span>['gid']+0;<span>//</span><span>商品id</span> <span>$goods_statis_content</span> = "goods_content_".<span>$gid</span>;<span>//</span><span>对应键</span> <span>$expr</span> = 3600*24*10;<span>//</span><span>有效期,十天</span> <span>$mem</span> = <span>new</span><span> Memcache; </span><span>$mem</span>--->connect('memcache_host', 11211<span>); </span><span>$mem_goods_content</span> = <span>$mem</span>->get(<span>$goods_statis_content</span><span>); </span><span>if</span>(<span>$mem_goods_content</span><span>){ </span><span>echo</span> <span>$mem_goods_content</span><span>; }</span><span>else</span><span>{ </span><span>ob_start</span><span>(); </span><span>//</span><span>从数据库读取数据,并赋值给相关变量 //include ("xxx.html");//加载对应的商品详情页模板</span> <span>$content</span> = <span>ob_get_contents</span>();<span>//</span><span>把详情页内容赋值给$content变量</span> <span>$mem</span>->add(<span>$goods_statis_content</span>,<span>$content</span>, <span>false</span>, <span>$expr</span><span>); </span><span>ob_end_flush</span>();<span>//</span><span>输出商品详情页信息</span> <span> } </span>?>Ausgezeichnete technische Artikel werden täglich aktualisiert, alle auf www.phpskill.com
PHP rein technische Lernaustauschgruppe: 323899029
Originaltext von: http://www.phpskill.com/html/show-1-4418-1.html
Das Obige hat mehrere gängige Methoden zum Statisieren von Seiten vorgestellt, darunter einige Aspekte, die hoffentlich für Freunde hilfreich sein werden, die sich für PHP-Tutorials interessieren.