PHP を使用して静的化を実現する
PHP Web サイトの開発プロセスでは、Web サイトの宣伝や SEO のニーズのために、Web サイトをある程度静的にする必要があります。ここでは、静的ページとは何かを設計します。 、いわゆる静的ページ。ページ内にアニメーションなどの要素がまったくないわけではなく、Webページのコードがすべてページ内にある、つまりPHPを実行する必要がないことを意味しますこれは静的な Web ページです。
それでは、静的 Web ページの利点は何でしょうか? 1 つ目の主な理由は、検索エンジンによるものです。検索エンジンには PHP ページと HTML ページの組み込みに一定の違いがあり、ページ リソースの占有の問題に直面しているため、.php ファイルを静的化する必要があります。 1 つの方法は、URL の PATHINFO パターンを使用してアクセス アドレスを書き換えて、静的ページのように見せることで、検索エンジンによってクロールされ、含まれる可能性が高くなります。
2 番目の理由は、Sina や NetEase などの Web サイトのホームページにアクセスすると、コンテンツが大量にあることに気づくことがありますが、読み込み時間はそれほど長くありません。 . こちら 静的な投稿もあります。ユーザーが Web サイトにアクセスする前に、Web サイトを静的化して静的ページを生成すると、静的ページであるため、動的ページのアクセス速度よりもアクセス速度が速くなります。回。このテクノロジーは大規模な Web サイトに必要ですが、小規模な Web サイトにも使用できます。フォアグラウンドでのパフォーマンスはページの読み込み速度が速くなり、バックグラウンドでのパフォーマンスはデータベースへの接続が減り、データベースへの負荷が軽減されます。唯一の欠点は、より多くのハードディスクを使用することです。ハードディスクは比較的安価です。
静的化の利点のいくつかを理解したところで、静的化を実現するにはどうすればよいでしょうか? PHP で実現できる静的機能は、純粋な静的機能と疑似静的な機能に分けられます。この 2 つの違いは、静的な聖書ページのメカニズムの違いにあります。疑似静的な機能は、URL を解析して書き換えモードを使用することです。検索エンジンに優しいだけで、本当の意味では静的ではありません。以下に純粋な静的を紹介しましょう。
いわゆる純粋な静的化は、HTML ファイルを生成する方法です。PHP に付属のキャッシュ メカニズム、つまり、キャッシュを有効にする ob_start を有効にする必要があります。そうでない場合、ob_start の前に出力はありません。実行は失敗します。この関数は、キャッシュの内容を取得するために使用されます。この関数は、キャッシュの内容をクリアして閉じるために使用されます。成功した場合は False、失敗した場合は False。
以下の例を参照してください:
ここでは、データベースからデータを取得し、生成後にデータをページにキャッシュします。これが PHP ファイルです:
<?php//开启缓存ob_start();//第一步连接数据库$conn = mysqli_connect("localhost","root","","bbs");//第二步设置相应的字符编码$setting = 'set names utf8';mysqli_query($conn,$setting);//第三步进行查询$sql = 'SELECT * FROM user';$result = mysqli_query($conn,$sql);//第四步把查询结果转化为一个数组$rows = mysqli_num_rows($result);$sqldata = array();for($i = 0;$i <$rows;$i ++){ $sqldata[] = mysqli_fetch_assoc($result);}//然后打印该信息var_dump($sqldata);//得到生成的html文件,下次访问就无需访问数据库了$msg = ob_get_contents();ob_end_clean();//把输出内容放入一个html文件中$f = fopen("static.html","w");fwrite($f,$msg);echo "静态化成功";
<pre class='xdebug-var-dump' dir='ltr'><b>array</b> <i>(size=6)</i> 0 <font color='#888a85'>=></font> <b>array</b> <i>(size=4)</i> 'id' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'1'</font> <i>(length=1)</i> 'level' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'0'</font> <i>(length=1)</i> 'name' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'辛星'</font> <i>(length=6)</i> 'pwd' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'bd04fcc97578ce33ca5fb331f42bc375'</font> <i>(length=32)</i> 1 <font color='#888a85'>=></font> <b>array</b> <i>(size=4)</i> 'id' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'2'</font> <i>(length=1)</i> 'level' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'1'</font> <i>(length=1)</i> 'name' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'小倩'</font> <i>(length=6)</i> 'pwd' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'61cb72858be523b9926ecc3d7da5d0c6'</font> <i>(length=32)</i> 2 <font color='#888a85'>=></font> <b>array</b> <i>(size=4)</i> 'id' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'3'</font> <i>(length=1)</i> 'level' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'1'</font> <i>(length=1)</i> 'name' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'小楠'</font> <i>(length=6)</i> 'pwd' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'a3d2de7675556553a5f08e4c88d2c228'</font> <i>(length=32)</i> 3 <font color='#888a85'>=></font> <b>array</b> <i>(size=4)</i> 'id' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'4'</font> <i>(length=1)</i> 'level' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'1'</font> <i>(length=1)</i> 'name' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'刘强'</font> <i>(length=6)</i> 'pwd' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'fcdb06a72af0516502e5fdccc9181ee0'</font> <i>(length=32)</i> 4 <font color='#888a85'>=></font> <b>array</b> <i>(size=4)</i> 'id' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'5'</font> <i>(length=1)</i> 'level' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'1'</font> <i>(length=1)</i> 'name' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'星哥'</font> <i>(length=6)</i> 'pwd' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'866a6cafcf74ab3c2612a85626f1c706'</font> <i>(length=32)</i> 5 <font color='#888a85'>=></font> <b>array</b> <i>(size=4)</i> 'id' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'6'</font> <i>(length=1)</i> 'level' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'1'</font> <i>(length=1)</i> 'name' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'辛勇'</font> <i>(length=6)</i> 'pwd' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'e93beb7663f3320eaa0157730d02dd0c'</font> <i>(length=32)</i>