ホームページ >バックエンド開発 >PHPチュートリアル >PHP は自動的に更新されてホームページを生成します

PHP は自動的に更新されてホームページを生成します

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

PHP は自動的に更新されてホームページを生成します
動的ページにアクセスする場合、訪問者が増えると、生成される静的ページの速度が非常に遅くなることがわかっています。これにより、サーバーの負荷の問題が解決されます。 SEO 検索エンジンにも適しています。

現在、Web ページは基本的に静的な HTML を使用しています。Web サイトのトップページは、アクセス頻度が最も高いページであると言えます。更新頻度が最も高い場所です。そのため、ホームページが静的 HTML ファイルであり、時間内に更新できるようにする方法が問題になります。

夏の記事システムを更新するときにこの問題が発生しました。ユーザーにホームページを自動的に更新させるにはどうすればよいですか? まず、ホームページを静的 HTML に更新するだけであれば、それは非常に簡単です。ファイル関数 file_put_contents() は、読み取りのためにホームページを開き、その後、PHP 関数を使用してファイルを操作して、静的 HTML ファイルを直接生成できますが、この操作はバックグラウンドで実行されます。静的 HTML ファイルの生成をトリガーするために使用することはできません。

まず、静的ページを生成しました。次に、ホームページを自動的に更新する方法を説明します。実は、ホームページの自動更新というのは時間を判断して記事を自動公開する設定があり、例えば if(format_date(time(),1)>”20131001″){ echo “自動更新コード”;} , 20131001 を特定の定期時刻に変更できます。

しかし、それを実現するために上記の方法を使用したくありません。注意する必要があるのは、生成されたホームページが各更新の前に訪問ユーザーによってトリガーされるということです。非常に簡単で、ホームページを更新するだけで十分です。

$nowtime=time();
$pastsec = $nowtime - $_GET["t"];

if($pastsec<30)
{
exit; //30 秒ごとに更新します。時間は自分で調整できます
}

ob_start() //バッファを開きます
include("index. php") ; //ホームページなどの生成されたファイルを含めます
$content = ob_get_contents(); //バッファの内容を取得します
$content .= "" //更新プログラムを呼び出すコードを追加


file_put_contents("index.html", $content); / /index.html を生成するための書き込み

if (!function_exists("file_put_contents")) //読み取りと書き込み
{
function file_put_contents($fn,$fs)
{
$fp=fopen($fn,"w ");
fputs($fp,$fs);
fclose($fp);
}
}
echo date( "Y-m-d H:i:s"); //生成時刻を書き込みます
echo "静的ホームページが正常に更新されました!" //正常に生成されました。実際のアプリケーションで削除できます
?>

直接実行すると、「現時点では、静的ホームページは正常に更新されました」というテキストがホームページの下に表示されます。次に、Web サイトのルート ディレクトリを見ると、追加のindex.htmlファイル。これは生成された静的HTMLファイルです。このファイルを開くと、中に追加のコードが含まれていることがわかります: "