ホームページ  >  記事  >  バックエンド開発  >  PHP_PHP チュートリアルを使用して静的 HTML ファイルを生成するいくつかの方法の概要

PHP_PHP チュートリアルを使用して静的 HTML ファイルを生成するいくつかの方法の概要

WBOY
WBOYオリジナル
2016-07-13 10:43:33758ブラウズ

PHP を使用して静的ファイルを生成する場合、最もよく使用するのは、静的ファイルをテンプレートの形式で置き換えることです。たとえば、{A} をタグとして定義した場合、PHP でテンプレート ファイルを読み取るために fopen を使用するだけで済みます。次に、replace を使用して {A} を PHP に置き換えます。静的な HTML ファイル インスタンスを生成します。

1、テンプレートの使い方はこちらです!

2. 時刻に応じてHTMLファイル名を生成します
コードは次のとおりです コードをコピー

$fp = fopen ("templets.html","a"); if ($fp){
$fup = fread ($fp,filesize("templets.html")); $fp2 = fopen ("html.shtml","w"); if ($fwrite ($fp2,$fup)){
$fclose ($fp); $fcolse ($fp2)
die (「テンプレートへの書き込みに成功しました」)
} その他 {
fclose ($fp); die (「テンプレートの書き込みに失敗しました!」); }
}
?>




テンプレートをファイルに書き込み、html.html として保存するだけです

コードは次のとおりです


コードをコピー

$date = 日付('YmdHis'); $fp = fopen (date('YmdHis') . '.html',"w"); //この関数は、ローカル ファイルまたはリモート ファイルを開くために使用できます。ファイルを開くメソッドは です。 ファイル ポインタは先頭を指し、元のファイルの長さは 0 に設定されます。ファイルが存在しない場合は、コードをコピー
$content = "これは、日付と時刻をファイル名として静的に生成された Web ページのテスト ファイルです。 ファイル名の形式は通常、年、月、日、時、分、秒.html";

新しいファイルが作成されます。
if (fwrite ($fp,$content)){
//形式は .int fwrite(int fp(ファイル名), string string(内容),
int [length](length)); この関数は、文字列 string をファイル データ ストリームのポインタ fp に書き込みます。
length を指定した場合は、指定した長さの文字列が書き込まれるか、文字列の末尾に書き込まれます。
fclose ($fp);//この関数は、開かれたファイルのポインタ fp を閉じるために使用されます。
成功した場合は true、失敗した場合は false を返します。
die (「テンプレートへの書き込みに成功しました」)
} その他 {
fclose ($fp); die (「テンプレートの書き込みに失敗しました!」); }
エコー ($content)
?>




3. ファイル名を変換する方法はこちらです



コードは次のとおりです

$s_fname = "93e.php"; $o_fname = "93e.htm"; ob_end_clean(); ob_start(); include($s_fname); $length = ob_get_length(); $buffer = ob_get_contents(); $buffer = eregi_replace("r","",$buffer); ob_end_clean();

このようにして、93e.phpを静的HTMLファイルに変換できます。変換するファイルには ob_end_clean(); および ob_start(); ステートメントを含めることはできず、ディレクトリには書き込み権限が必要であることに注意してください。

上記の 3 つの方法はすべて、毎回更新する必要がある HTML ページを生成します。次に、動的ページ キャッシュ技術を使用して HTML+php ページをインスタンス化できます。この方法は上記の方法よりも優れています

まず .htaccess ファイルを設定し、動的呼び出しパラメータを静的 HTML URL アドレスに変換します。たとえば、post ディレクトリ内のファイルをルート ディレクトリの wp-post.php ファイルに転送します。

のようなステートメントを追加します。
$fp = fopen($o_fname,"w+"); fwrite($fp,$buffer); fclose($fp); ?>
コードは次のとおりです コードをコピー

RewriteRule ^post/([a-z0-9-]+.html)$ wp-post.php?$1$2

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

コードは次のとおりですコードをコピー
ob_start();

$qstring = isset($_SERVER["QUERY_STRING"]) $_SERVER["QUERY_STRING"] : "";
定義("HTML_FILE", $_SERVER['DOCUMENT_ROOT']."/post/".$qstring);

if (file_exists(HTML_FILE))

{
$lcft = filemtime(HTML_FILE);
if (($lcft + 3600) > time()) // 最後に生成された HTML ファイルが 1 時間以上前かどうかを判断します。そうでない場合は、ファイルの内容を直接出力します
。 {
echo(file_get_contents(HTML_FILE));
終了(0);
}
}

その後に既存の PHP コードがあり、現在のコードの最後に次の PHP コードを追加します。

コードは次のとおりですdefine("HTMLMETA","");それでは、静的 HTML ページを確認してください。ページの最後にコメント行が表示されていれば、静的 HTML ファイルが正常に作成されたことを意味します。
コードをコピー
$buffer = ob_get_flush();

$fp = fopen(HTML_FILE, "w");
if ($fp)
{
fwrite($fp, $buffer.HTMLMETA);
fclose($fp);
}

http://www.bkjia.com/PHPjc/633160.html

www.bkjia.com

http://www.bkjia.com/PHPjc/633160.html技術記事 PHP を使用して静的ファイルを生成する最も一般的な方法は、静的ファイルをテンプレートの形式で置き換えることです。たとえば、{A} をタグとして定義した場合、fopen を使用して PHP でテンプレート ファイルを読み取るだけで済みます。リプラを使用してください...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。