ホームページ >php教程 >PHP开发 >静的 HTML Web ページを動的に生成するための一般的な PHP コード

静的 HTML Web ページを動的に生成するための一般的な PHP コード

高洛峰
高洛峰オリジナル
2016-12-21 11:35:131313ブラウズ

PHP が動的表示のために MYSQL を読み取る場合、トラフィックが大きい場合に多くのパフォーマンスの問題が発生することがわかっています。他人の仮想ホストを借りると、過度の CPU 消費により CPU が制限され、Web ページにアクセスできなくなります。ここでは、サーバーの CPU 負荷を大幅に軽減できる、PHP で HTML を動的に生成する方法を紹介します。

まず、動的に呼び出されるパラメータを静的 HTML URL アドレスに変換するように .htaccess ファイルを設定します。たとえば、post ディレクトリ内のファイルをルート ディレクトリの wp-post.php ファイルに転送します。
のようなステートメントを追加します。
RewriteRule ^post/([a-z0-9-]+.html)$ wp-post.php?$1$2

次に、wp-post.php ファイルを変更し、ファイルの先頭に次の PHP コードを追加します。 :

ob_start(); 
$qstring = isset($_SERVER[%26quot;QUERY_STRING%26quot;]) ? $_SERVER[%26quot;QUERY_STRING%26quot;] : %26quot;%26quot;; 
define(%26quot;HTML_FILE%26quot;, $_SERVER['DOCUMENT_ROOT'].%26quot;/post/%26quot;.$qstring); 

if (file_exists(HTML_FILE)) 
{ 
$lcft = filemtime(HTML_FILE); 
if (($lcft + 3600) %26gt; time()) //判断上次生成HTML文件是否超过1小时,若没有才直接输出文件内容 
{ 
echo(file_get_contents(HTML_FILE)); 
exit(0); 
} 
}

次は既存の PHP コードで、現在のコードの最後に次の PHP コードを追加します:

define(%26quot;HTMLMETA%26quot;,%26quot;%26lt;!-- this is a real static html file created at %26quot;.date(%26quot;Y-m-d H:i:s%26quot;).%26quot; --%26gt;%26quot;); 
$buffer = ob_get_flush(); 
$fp = fopen(HTML_FILE, %26quot;w%26quot;); 
if ($fp) 
{ 
fwrite($fp, $buffer.HTMLMETA); 
fclose($fp); 
}

それでは静的 HTML ページを確認してください ページの最後にコメント行が表示されている場合は、これは、静的 HTML ファイルが正常に作成されたことを意味します。

この方法の応用例の 1 つが、以前に作成した WordPress 年次ブログ統計プラグインです。この統計プラグインはデータベースに 10 回以上クエリを実行するため、多くの人がアクセスするとパフォーマンスに大きな問題が発生します。この動的 HTML 生成テクノロジを使用すると、1 日に 1 回クエリを実行して統計的なランキングを生成できるため、データベースのクエリのパフォーマンスの問題が完全に解決されます。


静的 HTML Web ページと関連記事を動的に生成するためのより一般的な PHP コードについては、PHP 中国語 Web サイトに注目してください。


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