ページの静的化には 2 つのタイプがあり、1 つは擬似静的、つまり URL の書き換えであり、もう 1 つは真の静的であるとよく言われます。真の静的化に焦点を当てましょう。
PHP の静的化とは何ですか?
PHP の静的化を簡単に理解すると、Web サイトで生成されたページを静的 HTML の形式で表示することになります。PHP の静的化は、純粋な静的化と疑似静的化の違いです。 2 つは、PHP が生成する静的ページが異なる方法で処理されることです。
Web ページを静的にする理由
1. ページを開く速度と閲覧速度を向上させます。静的ページはデータベースに接続する必要がなく、動的ページよりも大幅に高速です。 SEO)、Baidu と Google は静的ページを優先します。これは、迅速に含まれるだけでなく、完全に含まれます。
3. システム データベースを呼び出さずに Web を閲覧できます。より安全であり、HTML ページは PHP 関連の脆弱性の影響を受けません。大規模な Web サイトの基本を見てください。これらはすべて静的ページであり、攻撃を軽減し、SQL インジェクションを防ぐことができます。
データベースエラーが発生しても、Web サイトへの通常のアクセスには影響しません。
HTML記事を生成する作業はより面倒で手順が複雑になりますが、検索をより便利に、より速く、より安全にするために、これらの犠牲はそれでも価値があります。
PHP で静的 HTML ページを生成する方法
PHP テンプレートを使用して静的ページを生成する
たとえば、PHP Smarty をインストールして使用すると、静的な Web サイトを実現できます。また、テンプレート解析ルールのセットを自分で作成することもできます。さまざまな cms のテンプレート ルールを模倣することができます。
1. PHP ファイルの読み取りおよび書き込み関数と ob キャッシュ メカニズムを使用して静的ページを生成します
たとえば、商品の動的な詳細ページのアドレスは次のとおりです: http://xxx.com?goods.php?gid=112
そこで、このアドレスはこの詳細ページのコンテンツを一度読み取り、次に誰かがこの製品詳細ページの動的アドレスにアクセスしたときに、生成された対応する静的コンテンツ ファイルを直接出力できるようにします。
<!--?php$gid = $_GET['gid']+0;//商品id$goods_statis_file = "goods_file_".$gid.".html";//对应静态页文件$expr = 3600*24*10;//静态文件有效期,十天if(file_exists($goods_statis_file)){ $file_ctime =filectime($goods_statis_file);//文件创建时间 if($file_ctime+$expr-->time()){//如果没过期 echo file_get_contents($goods_statis_file);//输出静态文件内容 exit; }else{//如果已过期 unlink($goods_statis_file);//删除过期的静态页文件 ob_start(); //从数据库读取数据,并赋值给相关变量 //include ("xxx.html");//加载对应的商品详情页模板 $content = ob_get_contents();//把详情页内容赋值给$content变量 file_put_contents($goods_statis_file,$content);//写入内容到对应静态文件中 ob_end_flush();//输出商品详情页信息 }}else{ ob_start(); //从数据库读取数据,并赋值给相关变量 //include ("xxx.html");//加载对应的商品详情页模板 $content = ob_get_contents();//把详情页内容赋值给$content变量 file_put_contents($goods_statis_file,$content);//写入内容到对应静态文件中 ob_end_flush();//输出商品详情页信息}?>
memcache を例に挙げます。および値、キー デフォルトの最大サイズは 128 バイトを超えることはできません。値のデフォルトのサイズは 1M であるため、1M サイズはほとんどの Web ページのストレージ要件を満たします。
上記はページの静的化に関連する方法です。友達に役立つことを願っています優れた技術記事はすべて www.phpskill.com で毎日更新されます
php 純粋技術学習交換グループ: 323899029
原文: http://www.phpskill.com/html/show-1-4418-1.html