thinkphp全站静态页实现方法
2015-09-02 09:25
525 查看
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');)就可以了。
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');)就可以了。
相关文章推荐
- php mysql函数库总结(一)
- phpcmsv9导航默认进入第一个子栏目
- phpcmsv9导航默认进入第一个子栏目
- php databases support off fail zabbix
- Xhprof----facebook开源的,轻量级的PHP性能分析工具
- php 系统管理和监控软件
- ThinkPHP中使用Ueditor富文本编辑器
- php大力力 [041节] 今天没有写日志哈
- ThinkPHP学习笔记
- 20个PHP开源内容管理系统
- TinkPHP 3.2.3版本 新手该注意的地方
- php wsdl生成类
- 关于setContentPane()和getContentPane()的应用
- php面向对象深入理解(一)
- 【PHPExcel实例】 php 导出 excel 实例
- 瞎玩php基础——语言基础,流程控制语句
- 瞎玩php——php与web页面交互之表单初识(1)
- PHP获取MySQL执行sql语句的查询时间
- Servlet中getInitParameter(),getParameter(),getAttribute()异同
- 常用排序算法PHP最精确写法