php中静态化生成的方法(htm页面生成)
在php中原生态的生成html页面我们会用到三个函数:ob_start()、ob_get_contents()、ob_end_clean()了,然后再把获取的内容给fopen函数生成即可。
例子,利用三个函数:ob_start()、ob_get_contents()、ob_end_clean()函数
知识点:
1、ob_start函数一般主要是用来开启缓存,注意使用ob_start之前不能有任何输出,如空格、字符等。
2、ob_get_contents函数主要用来获取缓存中的内容以字符串形式返回,注意此函数必须在ob_end_clean函数之前调用,否则获取不到缓存内容。
3、ob_end_clean函数主要是清空缓存中的内容并关闭缓存,成功则返回True,失败则返回False
输出控制函数(Output Control)也就是使用和控制缓存来生成静态HTML页面,也会使用到PHP文件读写函数。
PHP生成静态页面实例代码
<?php ob_start(); echo "<html>" . "<head>" . "<title>PHP网站静态化教程</title>" . "</head>" . "<body>欢迎访问PHP网站开发教程网www.phprm.com 本文主要介绍PHP网站页面静态化的方法</body>" . "</html>"; $out1 = ob_get_contents(); ob_end_clean(); $fp = fopen("leapsoulcn.html", "w"); if (!$fp) { echo "System Error"; exit(); } else { fwrite($fp, $out1); fclose($fp); echo "Success"; } ?>
例子,
利用框架模板生成最近比较火的php框架有thinkphp下面我们就以它为例子。
thinkphp提供了一个有效的生成静态页的方法,(在tp2.0的手册上有说明,3.0的手册上没有说明了,不过3.0方法还是存在的。)
$this->buildHtml('静态文件', '静态路径','模板文件');
参数一:静态文件,是指生成后的静态文件名,文件保存路径完整的就是:静态路径/静态文件。例如静态文件设置a/index.那么保存的路径就是项 目路径/Html/a/index.html(默认的静态路径在项目路径的Html文件夹下,没有可以自己创建)
参数二:静态路径,上面已经说明了默认的路径,3.0中可以在入口文件里加入参数来更改静态路径。 define('HTML_PATH', './');(将静态路径义为网站根目录)
参数三:模板文件,我感觉官方这个描述是不正确的,准确的来说应该是目标模块,就是需要生成静态文件的模块。格式:模块名:操作。比如要生成Index下的a方法为静态文件,那就是Index:a。如果为空则默认生成当前操作的静态文件。
1 、在入口文件index.php文件中定义生成静态页面的文件位置,然后在个目录新建Html文件夹
define( 'HTML_PATH' , './Html' );//www.phprm.com
2 、在根目录的config文件夹中的config.php配置静态页面的类型,设为 html
'HTML_FILE_SUFFIX' = > '.html' , // 默认静态文件后缀
3 、在"Tpl / default / "目录中新建一个Index的文件夹,文件夹下面新建一个index.html的模板, 模板里面内容为:这是生成静态页例子
4 、控制器IndexAction. class .php中的代码
class IndexAction extends Action {
public function index() {
$this - > buildHtml('名称', HTML_PATH . '/', '模版', 'utf8'); //注意:这里的utf8不能写成utf-8
$this - > display();
}
}
?>
解释 :
这里的buildHtml是thinkphp内置的函数,这里的意思是:
将index的模板文件生成utf8编码格式的静态网页,该文件名为 1 .html,存在于根目录的htm文件中
该函数有 5 个参数,具体如下 :
buildHtml($htmlfile,$htmlpath,$templateFile,$charset,$contentType = 'text/html' )
参数:
$htmlfile 生成的静态文件名称
$htmlpath 生成的静态文件路径
$templateFile 指定要生成静态的模板文件
$charset 生成静态文件的编码格式
$contentType 生成静态文件的类型
<?php // 生成静态页 class AddhtmlAction extends CommonAction { public function index() { $this->assign('abc', 'abc222222222'); $pagename = '123 www.phprm.com'; //页面名称 $temppath = ''; //显示模版路径 //查看配置文件是否开启显示静态模版 if (C('IS_HTML')) { //判断是否已经生成静态页面 if (!is_file(HTML_PATH . '/' . $pagename . 'html')) $this->buildHtml($pagename, HTML_PATH . '/', 'index', 'utf8'); //注意:index为动态模版 这里的utf8不能写成utf-8 $temppath = HTML_PATH . '/' . $pagename . 'html'; } $this->display($temppath); } } ?>
文章链接:
随便收藏,请保留本文地址!

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック

PHPWarning:fopen():failedtoopenstream:No suchfileordirectory PHP 開発を使用する過程で、ファイル操作の問題がよく発生します。その 1 つが「PHPWarning:fopen():failedtoopenstream:No suchfileordirectory」です。

PHPWarning:fopen():SSLoperationfailedinfile.phponlineX を解決する方法 PHP プログラミングでは、fopen 関数を使用してファイルまたは URL を開いて関連する操作を実行することがよくあります。ただし、fopen 関数を使用すると、Warning:fopen():SSLoperationfailedinfile.p のようなエラーが発生することがあります。

PHPWarning:fopen():failedtoopenstream:Permissiondenied を解決する方法 PHP プログラムの開発プロセスでは、PHPWarning:fopen():failedtoopenstream:Permissiondenied などのエラー メッセージに遭遇することがよくあります。このエラーは通常、ファイルまたはディレクトリのアクセス許可が正しくないことが原因で発生します。

PHP.ini ファイルのエンコーディング変更メソッドを解釈します。PHP.ini ファイルは PHP 構成ファイルです。そのファイル内のパラメータを変更することで、PHP 実行環境を構成できます。エンコード設定も非常に重要で、漢字や Web ページのエンコードなどの処理において重要な役割を果たします。この記事では、PHP.ini ファイルのエンコード関連の構成を変更する方法を詳しく紹介し、参考として具体的なコード例を示します。現在のエンコード設定を表示します。PHP.ini ファイルで、次の 2 つの関連パラメータを検索できます。

Matlab では、関数 fopen を使用してファイルを開き、その後のファイルの読み取りまたは書き込み操作のためにファイル識別子を返します。必要に応じて適切な権限オプションを選択してファイルを開き、操作が完了したらすぐにファイルを閉じます。ファイルを開いた後、システム リソースを解放する必要がなくなった時点でファイルを確実に閉じる必要があることに注意してください。また、ファイルのオープンに失敗したり、操作エラーが発生した場合には、エラー処理機構を使用して適切に処理できます。

PHP 開発では、ファイル操作が非常に一般的です。通常の状況では、ファイルの読み取り、書き込み、削除などの操作を実行する必要があります。このうち、fopen 関数と fread 関数はファイルの読み取りに使用でき、fopen 関数、fwrite 関数、fclose 関数はファイルの書き込みに使用できます。この記事では、PHP が fopen、fwrite、fclose を使用してファイル操作を実行する方法を紹介します。 1. fopen 関数 fopen 関数はファイルを開くために使用され、その構文は次のとおりです。

C の fopen() メソッドは、指定されたファイルを開くために使用されます。問題の構文を理解するために例を見てみましょう FILE*fopen(filename,mode) ファイルを開くために fopen() を使用するための有効なモードは次のとおりです: 'r'、'w'、'a'、'r+'、'w+ '、'a+'。詳細については、C ライブラリ function-fopen() を参照してください。

PHP のタイム ゾーン設定エラーはよくある問題であり、日付と時刻に関連する関数が PHP コードに含まれる場合、タイム ゾーンを正しく設定することが非常に重要です。タイムゾーンの設定が正しくないと、日付や時刻の表示が不正確になるなど、不具合が生じる可能性があります。 PHP タイムゾーン設定エラーを解決するには、date_default_timezone_set() 関数を設定して正しいタイムゾーンを指定する必要があります。具体的なコード例を次に示します。
