動的Webサイト全体を静的にする方法をインターネット上でよく見かけますが、実際、実装方法は非常に簡単です。
コードは次のとおりです | コードをコピー |
//先頭に追加
ob_start(); ob_start(); //以下はコードです //最後に追加します ob_end_clean(); このページを変数 $temp = ob_get_contents(); に出力します。 //ファイルを書き込む $fp = fopen(‘ファイル名’,’w’); fwrite($fp,$temp) または die(‘ファイル書き込みエラー’) ?> |
以下は私が使用する方法です:
コードをコピー | |
$time = time(); // ファイル変更時刻と現在時刻の差が 30 分未満の場合は HTML ファイルに転送され、それ以外の場合は HTML が再生成されます if($time - filemtime("xxx.html") header(“Location:xxx.html”); } } // 先頭に ob_start(); を追加します。 ob_start(); //ページの詳細 //最後にob_end_clean()を追加して、このページを変数に出力します $temp = ob_get_contents(); ob_end_clean(); //ファイルを書き込む $fp = fopen('xxx.html','w'); fwrite($fp,$temp) または die('ファイル書き込みエラー'); //リダイレクト header(“場所:xxx.html”); |
入力内容の投稿ページは以下の通りです
ファイル名:aa.html
|
コードは次のとおりです | コードをコピー | ||
//日付関数の定義 //時間関数(ファイル名)を定義
$html1=$html1." $html1=$html1.$htmltitle; $html1=$html1." $html1=$html1.""; $html1=$html1.""; $html1=$html1.""; $html1=$html1."
$html1=$html1.""; $html1=$html1.""; //今日のフォルダーが存在するかどうかを判断します //HTML ファイルとして書き込みます |
プロンプト ファイルが正常に書き込まれたら成功です。その後、対応するディレクトリに戻って、静的 HTML ファイルが生成されるかどうかを確認してください。
スマートなテンプレート生成方法
コードは次のとおりです | コードをコピー |
require_once("./config/config.php");
|
smarty には、テンプレート ページのコンテンツを取得するためのメソッド fetch() があり、その宣言プロトタイプは次のようになります。
コードをコピー | |
function fetch($resource_name, $cache_id = null, $compile_id = null、$display = false) ?> |
コードをコピー | //その他のテンプレート置換構文...
//次の文は、ページ上のすべてのコンテンツを取得します。最後のパラメータは false であることに注意してください。 $content = $smarty->fetch('テンプレート名.tpl', null, null, false); // コンテンツを以下の静的ファイルに書き込みます $fp = fopen('news.html', 'w'); fwrite($fp, $content); fclose($fp); //OK、ここで news.html 静的ページが生成されるので、次の作業を行うことができます ?> 上記の方法と組み合わせると、ファイル生成の原理はほぼ同じです。まず、データを読み取り、次に定義されたテンプレートを与え、最後に fopen 関数を使用して .html ファイルを生成します。 | 原文はhttp://www.111cn.net/から。
http://www.bkjia.com/PHPjc/919575.html
www.bkjia.com