thinkphp怎么生成静态页面 还有发布的文章也是

如题所述

你先搜下不就行了....

1、在入口文件index.php文件中定义生成静态页面的文件位置
define('HTML_PATH','./htm');
2、在根目录的config文件夹中的config.php配置静态页面的类型,设为 html
'HTML_FILE_SUFFIX' => '.html',// 默认静态文件后缀
3、在“Tpl/default/”目录中新建一个Index的文件夹,文件夹下面新建一个index.html的模板,
模板里面内容为:这是生成静态页例子
4、控制器IndexAction.class.php中的代码
class IndexAction extends Action{
publicfunction index(){
$this->buildHtml('1',HTML_PATH.'/','index','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生成静态文件的类型
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-07-15
可以使用php的ob缓存来实现静态页面的生成。
比如:
你原本要输出a.php页面的内容,但是这个是php的动态文件,是要经过处理的,
因此,你在该文件的尾部(在业务都处理完了的地方),开始ob缓存(ob_start();),
然后将缓存存入到一个变量($content = ob_get_contents();),最后再将该变量保存到
静态的html文件中(file_put_contents('/a.html','$content');)就可以了。
希望能帮到你,望采纳,谢谢。本回答被网友采纳
第2个回答  2014-04-20
用模板引擎技术,一个是TP自带的Think,一个是Smarty。在ThinkPHP/conf/convention.php中设置TMPL_ENGINE_TYPE = 'Think'
相似回答