ホームページ > php教程 > php手册 > PHP を使用した静的ページの生成に関する詳細なチュートリアル

PHP を使用した静的ページの生成に関する詳細なチュートリアル

WBOY
リリース: 2016-06-13 12:03:25
オリジナル
859 人が閲覧しました

1. PHP スクリプトと動的ページ。
PHP スクリプトは、埋め込みなどの方法で HTML ファイルと混合したり、クラスや関数のカプセル化などの形式のテンプレートの形式でユーザー要求を処理したりできる、サーバー側のスクリプト プログラムです。いずれにせよ、基本はこれです。クライアントが特定のページをリクエストします -----> WEB サーバーは、指定された対応するスクリプトを処理に導入します -----> スクリプトはサーバーにロードされます -----> 指定された PHP 解析サーバーによってスクリプトはブラウザによって解析され、HTML 言語形式が形成されます----> 解析された HTML ステートメントはパッケージの形式でブラウザに返されます。このことから、ページがブラウザに送信された後は PHP が存在せず、HTML ステートメントに変換および解析されたことがわかります。実際、クライアントのリクエストは動的ファイルであり、PHP はそれを対応するページに解析してブラウザに送り返します。このページの処理方法は「動的ページ」と呼ばれます。
2 番目の静的ページ。
静的ページとは、サーバー側に実際に存在し、HTML、JS、CSS、およびその他のクライアント側スクリプトのみを含むページを指します。扱い方としては。クライアントは特定のページをリクエストします---> WEB サーバーは特定のページを確認してロードします---> WEB サーバーはそのページをパッケージの形式でブラウザに返します。このプロセスから、動的ページを比較して確認できます。動的ページは WEB サーバーの PHP パーサーで解析する必要があり、通常、HTML 言語情報パッケージを形成する前にデータベースに接続してデータベース アクセス操作を実行する必要がありますが、静的ページは解析したり接続したりする必要はありません。データベースに直接送信できるため、サーバーの負荷が大幅に軽減され、サーバーの負荷容量が向上し、ページを開く速度と Web サイト全体を開く速度が大幅に向上します。ただし、その欠点は、リクエストを動的に処理できないことと、ファイルが実際にサーバー上に存在する必要があることです。
3. テンプレートとテンプレート分析。
テンプレートにはコンテンツ HTML ファイルがまだ入力されていません。例:
temp.html
コード:

コードをコピー コードは次のとおりです:


< ;HTML>
{ title }

これは { file } ファイルのテンプレットです
HTML>

PHP 処理: templetest.php
コード:
$title = "TwoMax International テスト テンプレート";
$file = "TwoMax Inter テスト テンプレット、
著者:Matrix@Two_Max";
$fp = fopen ("temp.html","r");
$content = fread ($fp,filesize ("temp.html"));
$content .= str_replace ("{ file }",$file,$content);
$content .= str_replace ("{ title }",$title,$content); ;
?>


テンプレート解析処理とは、PHP スクリプトを解析して処理した結果をテンプレートに埋め込む処理です。通常はテンプレート クラスの助けを借ります。現在、より一般的なテンプレート解析クラスには、phplib、smarty、fastsmarty などが含まれます。テンプレートの解析処理の原則は、通常は置換です。また、判定やループなどの処理をテンプレートファイルに入れて解析クラスで処理することに慣れているプログラマもいますが、その典型的な応用が単純にループ処理であるブロック概念です。 PHP スクリプトはループの数、ループの方法などを指定し、テンプレート解析クラスがこれらの操作を実装します。

静的ページと動的ページの長所と短所を比較した後、PHP を使用して静的ファイルを生成する方法について話しましょう。
PHP による静的ページの生成とは、PHP の動的解析と HTML ページの出力を指すのではなく、PHP を使用して HTML ページを作成することを指します。同時に、HTML は書き込み不可能な性質があるため、作成した HTML が変更された場合は、削除して再生成する必要があります。 (もちろん、通常のルールを使用して変更することもできますが、個人的には、削除して再生成するよりも速いと思いますが、メリットはありません。)
本題に戻ります。 PHP のファイル操作関数を使用したことのある PHP ファンは、PHP にファイルを開くファイル操作関数 fopen があることを知っています。ファイルが存在しない場合は、作成してみてください。これは、PHP を使用して HTML ファイルを作成できる理論的基礎です。 HTML ファイルの保存に使用されるフォルダーに書き込み権限 (つまり、権限定義 0777) がある限り、ファイルを作成できます。 (UNIX システムの場合、Win システムは考慮する必要はありません。) 上記の例を例として、最後の文を変更して test ディレクトリに test.html という名前の静的ファイルを生成するように指定すると、次のようになります。
コード:


コードをコピー コードは次のとおりです:


$title = "TwoMax Inter テスト テンプレート";
$file = "TwoMax Inter テスト テンプレット、
作成者:Matrix@Two_Max"; = fopen ("temp.html","r");
$content = fread ($fp,filesize ("temp.html"));
$content .= str_replace ("{ file }" , $file,$content);
$content .= str_replace ("{ title }",$title,$content);
$filename = "test/test.html ";
$handle = fopen ($filename,"w"); // ファイル ポインターを開き、ファイルを作成します
/*
ファイルが作成され、書き込み可能かどうかを確認します
*/
if (!is_writable ($filename)){
die ("ファイル: ".$filename." は書き込み可能ではありません。プロパティを確認して再試行してください!");
}
if ( !fwrite ($handle,$content)){ //ファイルへの情報の書き込み
die ("Generate file".$filename."Failed!")
}
fclose ($handle); / Close pointer
die ("Create file".$filename."Success!");
?>


実際のアプリケーションでの一般的な問題の解決策のリファレンス:

1. 記事リストの問題:
ファイルが生成されるたびに、ファイル名を記録します。データベース内の推奨記事については、静的ファイルが保存されている指定されたフォルダー内のページをポイントするだけです。 PHP 操作を使用して記事リストを処理し、文字列として保存し、ページの生成時にこの文字列を置き換えます。たとえば、ページ上の記事リストが配置されるテーブルと PHP 処理ファイルにマーク {articletable} を追加します。
コード:


コードをコピー コードは次のとおりです:

$title = "TwoMax International Test Template";
$file = "TwoMax Inter test templatet,
作者: Matrix@Two_Max";
$fp = fopen ("temp.html","r");
$content = fread ($fp,filesize ("temp.html"));
$content .= str_replace (" { file }",$file,$content);
$content .= str_replace ("{ title }",$title,$content); // リストの生成を開始します
$list = '' ;
$sql = "記事から ID、タイトル、ファイル名を選択";
$query = mysql_query ($sql)
while ($result = mysql_fetch_array ($query) )){
$list .= ''.$result['title'].'';
}
$content .= str_replace ("{articletable }",$list,$content);
//リスト生成の終了
// echo $content;
$filename = "test/test.html"
$handle = fopen ($filename,"w");ファイルポインタを開いてファイルを作成します
/*
ファイルが作成され書き込み可能かどうかを確認します
*/
if (!is_writable ($filename)){
die ("File: ".$filename." は書き込み可能ではありません。属性の後にもう一度試してください! ");
}
if (!fwrite ($handle,$content)){ //ファイルに情報を書き込みます
die ("ファイルの生成".$filename." 失敗しました! ");
}
fclose ($handle); //ポインターを閉じます
die ("ファイルの作成".$filename." 成功しました! ");
?>



2 番目に、ページングの問題です。


ページングを指定すると、1 ページあたり 20 個の記事が表示されます。特定のサブチャネル リストには、データベース クエリが 45 あるため、最初にクエリを通じて次のパラメータを取得します: 1、ページの総数、2、ページごとの記事数。2 番目のステップ、for ($i = 0)。 ; $i < allpages; $i )、ページ要素の取得、分析、記事の生成はすべてこのループ内で実行されます。違いは、文 die ("Create file".$filename."Success!") が削除されていることです。このステートメントはプログラムの実行を中止するため、ループの後に表示されます。 例:

コードをコピー

コードは次のとおりです。 > $fp = fopen ("temp .html","r"); $content = fread ($fp,filesize ("temp.html")); $onepage = '20' ; $sql = "チャネル='$channelid' の記事から ID を選択します";

$num = mysql_num_rows ($query); = ceil ($num / $onepage);

for ($i = 0;$i<$allpages; $i ){
if ($i == 0){
$indexpath = "インデックス.html";
} else {
$indexpath = "index_".$i."html";
}
$start = $i * $onepage;
$list = ' ';
$sql_for_page = "チャネル='$channelid' の記事から名前、ファイル名、タイトルを選択 $start,$onepage";
$query_for_page = mysql_query ($sql_for_page); result = $query_for_page){
$list .= ''.$title.''
}
$content = str_replace ("{articletable }",$list,$content); if (is_file ($indexpath)){
@unlink ($indexpath); // ファイルが既に存在する場合は削除します
}
$handle = fopen ($indexpath,"w") / /ファイル ポインタを開いてファイルを作成します
/*
ファイルが作成され、書き込み可能かどうかを確認します
*/
if (!is_writable ($indexpath)){
echo "ファイル: 「.$indexpath.」は書き込み可能ではありません。プロパティを確認してください。もう一度お試しください。 "; //echo
}
if (!fwrite ($handle,$content)){ //ファイルへの情報の書き込み
echo "Generate file".$indexpath." 失敗しました! "; // echo
}
fclose ($handle); // ポインタを閉じる
}
fclose ($fp);
die ("ページング ファイルの生成が完了しました。生成されました 不完全です。ファイル権限システムを確認して再生成してください! ");
?>


一般的なアイデアは次のとおりです。その他のデータ生成、データ入出力チェック、ページング コンテンツ ポインティングなどを必要に応じてページに追加できます。
実際の記事システムの処理プロセスでは、考慮すべき点がまだ多くあり、動的ページとは異なる点に注意する必要があります。しかし、一般的な考え方はこれであり、他の側面も類推して導き出すことができます。
PHP を使用して静的 Web サイト用のテンプレート フレームワークを作成します
テンプレートを使用すると、Web サイトの構造を改善できます。この記事では、PHP 4 の新機能とテンプレート クラスを使用して、多数の静的 HTML ページで構成される Web サイトのページ レイアウトをテンプレートを巧みに使用して制御する方法について説明します。
概要:
========================================
機能とレイアウトを分離
ページ要素の重複を避ける
静的 Web サイト用のテンプレート フレームワーク
========================= ======== ===
機能とレイアウトの分離
まず、テンプレートを適用する 2 つの主な目的を見てみましょう:
機能 (PHP) とレイアウトの分離 ( HTML)
ページ要素の繰り返しを避ける
最初の目的は最も話題になっている目的であり、プログラマーのグループがページのコンテンツを生成する PHP スクリプトを作成し、別のデザイナーのグループがページのコンテンツをデザインする状況を想定しています。ページのコンテンツの最終的な外観を制御する HTML とグラフィック。機能とレイアウトを分離するという基本的な考え方は、これら 2 つのグループの人々が独立したファイルのセットを作成して使用できるようにすることです。プログラマは、PHP コードのみを含むファイルのみを気にする必要があり、外観を気にする必要はありません。ページ
とページ デザイナーのページに埋め込まれた PHP コードが壊れることを心配することなく、使い慣れたビジュアル エディターを使用してページ レイアウトをデザインできます。
PHP テンプレートに関するチュートリアルをいくつか見たことがあれば、テンプレートがどのように機能するかをすでに理解しているはずです。単純なページ パーツを考えてみましょう。ページの上部はヘッダー、左側はナビゲーション バー、残りはコンテンツ領域です。この種類の Web サイトには、次のテンプレート ファイルを含めることができます。

コードをコピーします コードは次のとおりです:



<br><body> table><tr><td>{HEADER}</td></tr><br><tr><td>{LEFTNAV}</td><td>{CONTENT}< ;/td><br></table> <br><br> <br><-- header.htm --> ; <br><img src="sitelogo.jpg"> </p><br><a href="foo"> /a> <br><br><a href="bar">Bar</a> これらのテンプレートからページがどのように構築されているかを確認できます。メイン テンプレートはページ全体のレイアウトを制御します。 ; header テンプレートと leftnav テンプレートは、ページの共通要素を制御します。中括弧「{}」内の識別子はコンテンツのプレースホルダーです。テンプレートを使用する主な利点は、インターフェイス設計者がフォントの設定、色やグラフィックの変更、ページのレイアウトの完全な変更など、希望に応じてこれらのファイルを編集できることです。これらのファイルには HTML コードのみが含まれており、PHP コードは含まれていないため、インターフェイス設計者は、通常の HTML エディタまたは視覚化ツールを使用してこれらのページを編集できます。 <br> PHP コードはすべて別のファイルに保存されます。これは、ページ URL によって実際に呼び出されるファイルです。 Web サーバーは PHP エンジンを通じてファイルを解析し、結果をブラウザに返します。一般に、PHP コードは、データベースへのクエリや特定の計算の実行など、常にページ コンテンツを動的に生成します。以下に例を示します。 <br><br><br><br>コードをコピー <br><br> コードは次のとおりです。 <p class="codetitle"><span style="CURSOR: pointer" onclick="doCopy('code19959')"> <u><?php </U>// 例.php </span>require('class.FastTemplate.php'); </p>$tpl = new FastTemplate('.'); <p class="codebody" id="code19959">$tpl->define( array( 'main' => 'main') .htm' , <br>'header' => 'header.htm', <br>'leftnav' => 'leftnav.htm' ) ) <br>// ここでの PHP コードは、以下が含まれるように $content を設定します。適切なページ content<br>$tpl->assign('CONTENT', $content); <br>$tpl->parse('HEADER', 'header'); parse( 'LEFTNAV', 'leftnav'); <br>$tpl->parse('MAIN', 'main'); <br>$tpl->FastPrint('MAIN'); ;<br><br><br> ここでは人気のある FastTemplate テンプレート クラスを使用していますが、基本的な考え方は他の多くのテンプレート クラスでも同じです。まず、クラスをインスタンス化し、テンプレート ファイルの場所と、どのテンプレート ファイルがページのどの部分に対応するかを指示します。次に、ページ コンテンツを生成し、その結果をコンテンツ識別子に割り当てます。次に、各テンプレート ファイルを順番に解析します。テンプレート クラスは必要な置換操作を実行し、最終的に解析結果がブラウザに出力されます。 <br> このファイルは完全に PHP コードで構成されており、HTML コードが含まれていません。これが最大の利点です。 PHP プログラマーは、最終ページを適切にフォーマットするための HTML を生成する方法を気にすることなく、ページのコンテンツを生成するコードの作成に集中できるようになりました。 <br> このメソッドと上記のファイルを使用して、完全な Web サイトを構築できます。 http://www.foo.com/example.php?article=099 など、PHP コードが URL 内のクエリ文字列に基づいてページ コンテンツを生成する場合、これに基づいて完全な雑誌 Web サイトを構築できます。 <br> テンプレートの使用には 2 番目の利点があることは簡単にわかります。上の例に示すように、ページの左側にあるナビゲーション バーは別のファイルとして保存されています。Web サイトのすべてのページの左側にあるナビゲーション バーを変更するには、このテンプレート ファイルを編集するだけです。 <br>ページ要素の重複を避ける<br> 「これはとても良いことだ」と思うかもしれません。「私の Web サイトは主に多数の静的ページで構成されています。これで、すべてのページからそれらの共通部分を削除できます。これらを更新する 公開部分は面倒すぎる。将来的には、テンプレートを使用して管理しやすい統一されたページ レイアウトを作成できるようにする。「しかし、物事はそれほど単純ではありません。」「静的なページが多数ある」という問題が明らかになります。 <br> 上記の例を考えてください。この例には実際には example.php ページが 1 つしかありません。Web サイト全体のすべてのページを生成できるのは、URL 内のクエリ文字列を使用してデータベースなどの情報ソースからページを動的に構築しているためです。 <br> 私たちのほとんどは、必ずしもデータベースをサポートしていない Web サイトを運営しています。私たちの Web サイトの大部分は静的なページで構成されており、PHP を使用して検索エンジンやフィードバック フォームなどの動的な機能をあちこちに追加しています。では、この種の Web サイトにテンプレートを適用するにはどうすればよいでしょうか? <br> 最も簡単な方法は、各ページ <br> の PHP ファイルをコピーし、PHP コード内のコンテンツを表す変数を各ページの適切なページ コンテンツに設定することです。たとえば、home、about、product という 3 つのページがあるとします。それぞれを生成するために 3 つのファイルを使用できます。これら 3 つのファイルの内容は次のようになります。 <br></u><p class="codetitle"><span style="CURSOR: pointer" onclick="doCopy('code46662')"><u>コードをコピー </u></span> コードは次のとおりです。 </p> <p class="codebody" id="code46662"> <br><?php <BR>/ / home.php <BR>require('class.FastTemplate.php'); <BR>$tpl = new FastTemplate('.'); <BR>$tpl->define( array( 'main' => 'main.htm', <br>'header' => 'header.htm', <br>'leftnav' => 'leftnav.htm' ) ); p>ようこそ訪問</p> <br><img src="demo.jpg"><br><p>このウェブサイトを気に入っていただければ幸いです</p>"; <br>$tpl-> ('CONTENT', $content); <br>$tpl->parse('HEADER', 'header'); <br>$tpl->parse('LEFTNAV', 'leftnav'); $tpl->parse('MAIN', 'main'); <br>$tpl->FastPrint('MAIN'); <br><br> <br> 明らかに、これはこのアプローチには 3 つの問題があります。この複雑なテンプレートに関係する PHP コードをページごとに複製する必要があるため、ページの保守が困難になるだけでなく、共通のページ要素が複製されることになります。ファイルには HTML と PHP コードが混在しています。コンテンツ変数に値を代入することは、多くの特殊文字を処理する必要があるため、非常に困難になります。 <br> この問題を解決する鍵は、PHP コードと HTML コンテンツを分離することです。ファイルからすべての HTML コンテンツを削除することはできませんが、PHP コードの大部分を移動することはできます。 </p>静的 Web サイト テンプレート フレームワーク<br> まず、以前と同様に、ページのすべての共通要素とページ全体のレイアウトのテンプレート ファイルを作成し、すべてのページから共通部分を削除して、ページ コンテンツのみを残します。 add 次のように、各ページに 3 行の PHP コードを追加します。 <br><br><br><br>コードをコピーします <p class="codetitle"><span style="CURSOR: pointer" onclick="doCopy('code66552')"> コードは次のとおりです: <u></u> </span> <? php </p><!-- home.php --> <p class="codebody" id="code66552"><?php require('prepend.php') ?> <br><?php pageStart; ); <br><br><img src="demo.jpg" alt="PHP を使用した静的ページの生成に関する詳細なチュートリアル" ><br> ;このウェブサイトを気に入っていただければ幸いです</p><br><?php pageFinish()?> <br><br><br> この方法は基本的に、前述のさまざまな問題を解決します。ファイル内には現在 PHP コードが 3 行しかなく、その中にはテンプレートを直接参照していないため、このコードを変更する可能性は非常に低いです。また、HTML コンテンツは PHP マークアップの外側にあるため、特殊文字の処理に問題はありません。これら 3 行の PHP コードをすべての静的 HTML ページに簡単に追加できます。 <br> require 関数は、必要なテンプレート関連のすべての PHP コードを含む PHP ファイルを導入します。 pageStart 関数はテンプレート オブジェクトとページ タイトルを設定し、pageFinish 関数はテンプレートを解析して結果を生成し、ブラウザに送信します。 <br> これはどのようにして達成されるのでしょうか? pageFinish 関数が呼び出されるまで、ファイル内の HTML がブラウザに送信されないのはなぜですか?答えは、ブラウザーに出力されたコンテンツをバッファーにインターセプトできるようにする PHP 4 の新機能にあります。 prepend.php の具体的なコードを見てみましょう: <br></p> <p class="codetitle"><span style="CURSOR: pointer" onclick="doCopy('code33440')"><u>コードをコピーします </u></span> コードは次のとおりです: </p> <p class="codebody" id="code33440"> <br>< ;?php <br>require('class.FastTemplate.php'); <br>function pageStart($title = '') { <br>GLOBAL $tpl; <br>$tpl = new FastTemplate('.') ; <br>$ tpl->define( array( 'main' => 'main.htm', <br>'header' => 'header.htm', <br>'leftnav'=> ' leftnav.htm' ) ); <br>$tpl->assign('TITLE', $title); <br>} <br>function pageFinish() { <br>GLOBAL $tpl ; <br>$ content = ob_get_contents(); <br>$tpl->assign('CONTENT', $content); 'ヘッダー'); <br>$tpl->parse('LEFTNAV', 'leftnav'); <br>$tpl->parse('MAIN', 'main'); ;FastPrint('MAIN '); <br>} <br>?> <br><br> <br> pageStart 関数は、まずテンプレート インスタンスを作成して設定し、次に出力キャッシュを有効にします。この後、ページ自体のすべての HTML コンテンツがキャッシュに入ります。 pageFinish 関数は、キャッシュからコンテンツを取り出し、これらのコンテンツをテンプレート オブジェクトに指定し、最後にテンプレートを解析して完成したページを出力します。 <br> これは、テンプレート フレームワーク全体の作業プロセス全体です。まず、Web サイトの各ページに共通の要素を含むテンプレートを作成し、次にすべてのページから共通のページ レイアウト コードをすべて削除し、変更する必要のない 3 行の PHP コードに置き換えてから、FastTemplate クラス ファイルを追加します。 php をインクルード パスに追加すると、ページ レイアウトを一元管理できる Web サイトが得られ、信頼性と保守性が向上し、Web サイト レベルでの大規模な変更が非常に容易になります。 <br> この記事のダウンロード パッケージには、実行可能なサンプル Web サイト </p> が含まれており、そのコード コメントは前のコード コメントよりも詳細です。 FastTemplate クラスは http://www.thewebmasters.net/ にあります。最新バージョン番号は 1.1.0 で、クラスが PHP 4 で正しく動作することを確認するための小さなパッチがそこにあります。この記事のダウンロード コード内のクラスは、このパッチによって修正されています。 <br>PHP は静的ページを簡単に生成します<br><br><br><br>コードをコピーします<br><p class="codetitle"> コードは次のとおりです:<span style="CURSOR: pointer" onclick="doCopy('code32776')"><u> </u><?php </span> /* </p>* ファイル名:index.php <p class="codebody" id="code32776">*/ <br>require "conn.php"; <br>$query = "select * from news order by datetime desc"; mysql_query($ クエリ); <br><html> <br><meta http-equiv="Content-Type" content="text/html; ??? ???"> <br><title>ニュース






< ;/tr>
while($re = mysql_fetch_array($result)){
"> >
}
? >







コードをコピー🎜>
コードは次のとおりです:


/*
ファイル名: AddNews.php
静的なニュース ページを生成するための単純な動的追加
#
# テーブル構造 `news`
#
CREATE TABLE `news` (
`newsid` int(11) NOT NULL auto_increment,
`title` varchar(100) NOT NULL デフォルト '',
`content` text NOT NULL ,
`datetime` datetime NOT NULL デフォルト '0000-00-00 00:00:00',
KEY `newsid` (`newsid`)
) TYPE=MyISAM AUTO_INCREMENT=11; */
?>


PHP を使用して静的 Web ページを生成する 2 つの関数
近年、World Wide Web (グローバル情報ネットワークとも呼ばれます) WWW) は情報処理技術の様相を変え続けています。 Web は、人々や企業がコミュニケーションやコラボレーションを行うための効果的なメディアとして急速に普及しました。一般に、ほぼすべての情報技術分野が WEB の影響を受けています。 Web アクセスにより、より多くのユーザーとより多くのデータがもたらされるため、サーバーやデータベースへの負荷が増大し、エンド ユーザーの応答時間がますます遅くなります。この需要の増大に対応するために CPU、ディスク ドライブ、メモリを絶えず増加させることと比較すると、WEB 動的 Web ページを静的化することは、より現実的で経済的な選択肢となるはずです。

PHP を使用して WEB 動的 Web ページの静的化を実現する具体的な実装関数は、関数 gen_static_file()


コードをコピーします コードは次のとおりです:

function gen_static_file($program, $filename)
{
$program 1= "/usr/local/apache/htdocs/php /" . $program;
$filename1 = "/usr/local/apache/htdocs/static_html/" . $filename;
$cmd_str = "/usr/local/php4/bin/php " . $program1 . " } " . " ";
system($cmd_str) . "


この関数は静的化を実現するための鍵です。つまり、PHP 動的ページ プログラムはブラウザに送信されず、$filename という名前のファイルに入力されます (図 2)。 2 つのパラメータのうち、$program は PHP 動的ページ プログラム、$filename は生成された静的ページの名前 (必要に応じて独自の命名規則を作成できます。これは非常に重要です。以下を参照)、/usr/local /php4/bin/php は、PHP にはプログラムをファイルに入力する機能があり、PHP の中で外部コマンドを実行する機能です。また、動的ページを生成するすべての PHP プログラムは /php/ ディレクトリに配置する必要があり、新しく生成されたすべての静的ページは /static_html/ ディレクトリに表示されることもわかります (これらのパスは特定のニーズに応じて設定できます)。

college_static.php の静的ページがどのように生成されるかを具体的な例で見てみましょう。




コードをコピー

コードは次のとおりです。 function gen_college_static () {

for ($i = 0; $i {
putenv("province_id=" . $i); //*.php ファイルはデータベースからデータを取得するときに使用されます。
$filename. = "college_static".$i .html";
gen_static_file("college_static.php", $filename);



関数 gen_static_file() を呼び出すと、college_static.php が静的化され、33 個の静的ページ college.static0.html~college.static33.html になります。$I が変更されると、$filename も変更されます。生成される静的ページの数と名前を制御するには、データベースから値を直接取得します。生成された静的ページへの他のプログラムの呼び出しは、静的ページの命名規則と一致している必要があります。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
title 公開時刻