-
-
// 方法 1、テンプレートに基づいて静的ページを生成します - // replaceTemplateString 関数は、テンプレート内の指定された文字列を置換するために使用されます
- function replaceTemplateString($templateString ) {
- // 変数を使用して置換します
- $title = "記事のタイトル";
- $body = "ここが記事の本文です";
- // テンプレートで指定された文字列を置換します
- $showString = str_replace ( "% title%", $title, $templateString );
- $showString = str_replace ( "%body%", $body, $showString );
- // 置換結果を返す
- return $showString;
- }
-
$template_file = " template.html";
- $new_file = "new.html";
- // テンプレート ファイル ポインター
- $template_juBing = fopen ( $template_file, "r" );
- // テンプレート ファイル ポインターgenerated
- $newFile_juBing = fopen ( $ new_file, "w" );
// 方法 1、テンプレートのコンテンツ文字列全体を取得し、置き換えて新しいファイルに割り当てます
- $templateString = fread ( $template_juBing, filesize ( $template_file ) ) ;
- $showString = replaceTemplateString ( $templateString ); // テンプレート内の文字列を置換します
- fwrite ( $newFile_juBing, $showString ); // 置換されたコンテンツを生成された HTML に書き込みますfile
- // 方法 2、ループ内のテンプレート コンテンツ文字列の各行を読み取り、置き換えて新しいファイルに順番に追加します
- while ( ! feof ( $template_juBing ) ) { // feof() 関数は、ファイルの終わりに到達したかどうかを検出します。ファイルポインタが末尾に達するか、エラーが発生した場合は TRUE を返します。それ以外の場合は、FALSE を返します (ソケットのタイムアウトやその他の状況を含む)。
- $templateString = fgets ( $template_juBing ); // fgets(file,length) はファイル ポインターから行を読み取り、改行を含む最大 length - 1 バイトの長さの文字列を返します。長さが指定されていない場合、デフォルトは 1K、つまり 1024 バイトになります。
- $showString = replaceTemplateString ( $templateString );
- fwrite ( $newFile_juBing, $showString ); // 開かれたポインター ファイルに初めてコンテンツを書き込むとき、ファイル ポインターの前にあるポインター ファイル内の元のコンテンツが置き換えられます。 fwrite 関数がコンテンツを追加すると、追加されたコンテンツの後にファイル ポインターが閉じられます
- }
- */
- //
- fclose ( $newFile_juBing );
- fclose ( $template_juBing ); 通常、静的ページとの関係は、データベースに情報を追加すると、その情報の静的ページが生成されるため、将来の変更を容易にするために、データベース テーブルにフィールドを追加して、対応する静的ページのパス ファイル名を保存することをお勧めします。 ;
テンプレートの置換
- 一般的に、静的 HTML ページのテンプレートを変更する必要がある場合、通常のアプローチは、生成された HTML ページをすべて削除してから、新しい HTML ページを再作成することです。 (またはすべて再生成されます)
静的ページでの動的操作
- 場合によっては、作成された静的 HTML ページでもいくつかの動的操作を実行する必要があります。たとえば、ニュース システムの各ニュース記事では、クリック率をカウントする必要があります。
- 幅と高さが 0 ピクセルの画像コントロールを使用して PHP ページを非表示にし、ページ カウンター関数を実装できます (
リンク ディレクトリの静的ページ
- 通常、静的ページを使用するシステムでは、訪問者が閲覧するためのリンク リストのディレクトリ ページ用に静的 HTML ファイルが生成されることがよくあります
- 注これは、データベース情報を追加または削除するたびにリンク リストに影響を与えるため、データベース情報が追加または削除されるたびに、リンク ディレクトリの静的ページを更新する必要があります。
- ページングの設計は、リンクされたディレクトリを含む複数の静的ページを作成することで完了できます。
- */
// メソッド 2、バッファに基づいて生成
- ob_start (); // バッファがアクティブ化され、ob_end_clean() がある場合、ファイル以外の出力がすべて出力されます。ヘッダー情報はページには印刷されませんが、内部バッファーに保存されます。 ob_end_clean() がない場合、情報は内部バッファに保存され、出力されます
- ?>
-
-
-
-
- コードをコピー
これは出力制御のテストです
-
-
echo " これはテスト出力コントロールです ";
- include_once 'cache/newFile.php';
- < p>$contents = ob_get_contents (); // これまでにバッファに保存されている情報を取得します。バッファには、ページ ブラウザに出力および印刷されるコンテンツのみが保存されます。 // $contents は保存されません。 = ob_get_clean( ); // これまでのバッファに格納されている情報を取得し、クリア バッファをクローズします
// ob_end_flush();// これまでのプリント バッファに格納されている情報を出力し、クローズしますit バッファーのクリア
ob_end_clean (); // バッファーの内容のクリアをオフにする
file_put_contents ( $new_file, $contents ) // ファイル Content
- に書き込みます?> ;
-
-
コードをコピーします
2. テンプレート ファイル template.html
- < ;html>
- %title%
-
%title%
%body%
- < /html>
-
コードをコピー
|