用户
 找回密码
 入住 CI 中国社区
搜索
查看: 8513|回复: 6
收起左侧

PHP框架学习--codeigniter之CI生成静态页面

[复制链接]
发表于 2011-7-13 15:25:41 | 显示全部楼层 |阅读模式
最近又在帮客户写程序,这次呢准备使用下自己没有使用过的PHP框架,虽然之前就对codeigniter有所耳闻,但是却还没真正的使用过一次,今天用的时候感觉也还是听简单的,虽然有很长段时间没有写程序了,不过感觉自己还是能够看得懂,好了,不说了,现在进入我们今天的正题如何让CI生成静态页面.下面直接帖代码:
$this->output->get_output();使用这个方法,你可以可以得到将要输出的数据,并把它保存起来,留着它用(我们做新闻类型网站的时候,常常需要生成静态的HTML文件). Usage example:
$string = $this->output->get_output();
$this->load->helper('file');
write_file('./lianglong_codeigniter.html', $string);
比如我们要输出的页面是要加载某个视图后的数据,那么我们就在$this->load->view('welcome_lianglong);之后加入$this->output->get_output();
并把值给一个变量如$lianglong存储起来.再用CI的FILE中的write_file辅助函数,生成你要的文件,如下例
function sc(){
  $this->load->helper('file');
  $this->load->view('welcome_message');
  $lianglong=$this->output->get_output();
  if ( !write_file('./lianglongfile.html', $lianglong))
  {
    echo 'Unable to write the file';
  }
  else
  {
    echo 'File written!';
  }
}

发表于 2011-7-13 16:34:25 | 显示全部楼层
本帖最后由 Ben 于 2011-7-13 16:34 编辑

学习了,但是这样如何来访问呢?,我的主要意思是,已经生成静态页面了,该如何访问
发表于 2011-7-14 10:57:11 | 显示全部楼层
$content = $this->load->view('welcome_message',TRUE);
write_file('./lianglongfile.html', $content))

参数为第二个TRUE的时候,就可以不输出,而将输出内容直接赋值给$content了。然后直接将$conteng写入文件即可
发表于 2011-7-26 14:40:04 | 显示全部楼层
{:soso__13112168478952824817_2:} ,  灰常感谢 分享
发表于 2012-8-14 18:48:51 | 显示全部楼层
正在研究这个问题呢!
发表于 2013-3-6 17:13:05 | 显示全部楼层
受教了!!
发表于 2013-11-12 16:39:44 | 显示全部楼层
很不错,

本版积分规则