ホームページ  >  記事  >  バックエンド開発  >  PHP を使用して静的化を実現する

PHP を使用して静的化を実現する

WBOY
WBOYオリジナル
2016-06-13 12:02:461088ブラウズ

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 = &#39;set names utf8&#39;;mysqli_query($conn,$setting);//第三步进行查询$sql = &#39;SELECT * FROM user&#39;;$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 "静态化成功";

上記のページを実行すると、HTML ファイルが自動的にフォルダーに追加されたことがわかりました。そのコードは次のとおりです:

<pre class=&#39;xdebug-var-dump&#39; dir=&#39;ltr&#39;><b>array</b> <i>(size=6)</i>  0 <font color=&#39;#888a85&#39;>=></font>     <b>array</b> <i>(size=4)</i>      'id' <font color=&#39;#888a85&#39;>=></font> <small>string</small> <font color=&#39;#cc0000&#39;>'1'</font> <i>(length=1)</i>      'level' <font color=&#39;#888a85&#39;>=></font> <small>string</small> <font color=&#39;#cc0000&#39;>'0'</font> <i>(length=1)</i>      'name' <font color=&#39;#888a85&#39;>=></font> <small>string</small> <font color=&#39;#cc0000&#39;>'辛星'</font> <i>(length=6)</i>      'pwd' <font color=&#39;#888a85&#39;>=></font> <small>string</small> <font color=&#39;#cc0000&#39;>'bd04fcc97578ce33ca5fb331f42bc375'</font> <i>(length=32)</i>  1 <font color=&#39;#888a85&#39;>=></font>     <b>array</b> <i>(size=4)</i>      'id' <font color=&#39;#888a85&#39;>=></font> <small>string</small> <font color=&#39;#cc0000&#39;>'2'</font> <i>(length=1)</i>      'level' <font color=&#39;#888a85&#39;>=></font> <small>string</small> <font color=&#39;#cc0000&#39;>'1'</font> <i>(length=1)</i>      'name' <font color=&#39;#888a85&#39;>=></font> <small>string</small> <font color=&#39;#cc0000&#39;>'小倩'</font> <i>(length=6)</i>      'pwd' <font color=&#39;#888a85&#39;>=></font> <small>string</small> <font color=&#39;#cc0000&#39;>'61cb72858be523b9926ecc3d7da5d0c6'</font> <i>(length=32)</i>  2 <font color=&#39;#888a85&#39;>=></font>     <b>array</b> <i>(size=4)</i>      'id' <font color=&#39;#888a85&#39;>=></font> <small>string</small> <font color=&#39;#cc0000&#39;>'3'</font> <i>(length=1)</i>      'level' <font color=&#39;#888a85&#39;>=></font> <small>string</small> <font color=&#39;#cc0000&#39;>'1'</font> <i>(length=1)</i>      'name' <font color=&#39;#888a85&#39;>=></font> <small>string</small> <font color=&#39;#cc0000&#39;>'小楠'</font> <i>(length=6)</i>      'pwd' <font color=&#39;#888a85&#39;>=></font> <small>string</small> <font color=&#39;#cc0000&#39;>'a3d2de7675556553a5f08e4c88d2c228'</font> <i>(length=32)</i>  3 <font color=&#39;#888a85&#39;>=></font>     <b>array</b> <i>(size=4)</i>      'id' <font color=&#39;#888a85&#39;>=></font> <small>string</small> <font color=&#39;#cc0000&#39;>'4'</font> <i>(length=1)</i>      'level' <font color=&#39;#888a85&#39;>=></font> <small>string</small> <font color=&#39;#cc0000&#39;>'1'</font> <i>(length=1)</i>      'name' <font color=&#39;#888a85&#39;>=></font> <small>string</small> <font color=&#39;#cc0000&#39;>'刘强'</font> <i>(length=6)</i>      'pwd' <font color=&#39;#888a85&#39;>=></font> <small>string</small> <font color=&#39;#cc0000&#39;>'fcdb06a72af0516502e5fdccc9181ee0'</font> <i>(length=32)</i>  4 <font color=&#39;#888a85&#39;>=></font>     <b>array</b> <i>(size=4)</i>      'id' <font color=&#39;#888a85&#39;>=></font> <small>string</small> <font color=&#39;#cc0000&#39;>'5'</font> <i>(length=1)</i>      'level' <font color=&#39;#888a85&#39;>=></font> <small>string</small> <font color=&#39;#cc0000&#39;>'1'</font> <i>(length=1)</i>      'name' <font color=&#39;#888a85&#39;>=></font> <small>string</small> <font color=&#39;#cc0000&#39;>'星哥'</font> <i>(length=6)</i>      'pwd' <font color=&#39;#888a85&#39;>=></font> <small>string</small> <font color=&#39;#cc0000&#39;>'866a6cafcf74ab3c2612a85626f1c706'</font> <i>(length=32)</i>  5 <font color=&#39;#888a85&#39;>=></font>     <b>array</b> <i>(size=4)</i>      'id' <font color=&#39;#888a85&#39;>=></font> <small>string</small> <font color=&#39;#cc0000&#39;>'6'</font> <i>(length=1)</i>      'level' <font color=&#39;#888a85&#39;>=></font> <small>string</small> <font color=&#39;#cc0000&#39;>'1'</font> <i>(length=1)</i>      'name' <font color=&#39;#888a85&#39;>=></font> <small>string</small> <font color=&#39;#cc0000&#39;>'辛勇'</font> <i>(length=6)</i>      'pwd' <font color=&#39;#888a85&#39;>=></font> <small>string</small> <font color=&#39;#cc0000&#39;>'e93beb7663f3320eaa0157730d02dd0c'</font> <i>(length=32)</i>

もちろん、このコードは自動的に書き込まれます。私たちが作成した php プログラムによって生成されたデータにはブラウザを使用して直接アクセスできるため、データベースへの負担が軽減されます。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。