thinkphp全站静态页实现方法
1:在根目录下的全局index.php中加下面这行:
define('HTML_PATH', './htm');//生成静态页面的文件位置
2:在项目的配置文件config.php中加下面这行:
'HTML_FILE_SUFFIX' => '.html',// 默认静态文件后缀
3:在需要生成静态页的action里加入下面显红的代码
public function view()
{
$wheres = "id = $_GET[id]";
$news = $this->news->where($wheres)->find();
$this->assign("news", $news);
$this->buildHtml('1', HTML_PATH . '/news/', 'view', 'utf8');
$this->display();
}
buildHtml方法
参数1:生成的静态页名称
参数2:静态页保存的目录
参数3:生成静态页的方法名
参数4:静态页编码(是utf8,不是utf-8)
来源:http://www.cnblogs.com/kingfly/p/3469363.html
补充另一种方式,
可以使用php的ob缓存来实现静态页面的生成。
比如:
你原本要输出a.php页面的内容,但是这个是php的动态文件,是要经过处理的,
因此,你在该文件的尾部(在业务都处理完了的地方),开始ob缓存(ob_start();),
然后将缓存存入到一个变量($content = ob_get_contents();),最后再将该变量保存到
静态的html文件中(file_put_contents('/a.html','$content');)就可以了。