猩猩 发表于 2011-7-13 15:25:41

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

最近又在帮客户写程序,这次呢准备使用下自己没有使用过的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!';
}
}

Ben 发表于 2011-7-13 16:34:25

本帖最后由 Ben 于 2011-7-13 16:34 编辑

学习了,但是这样如何来访问呢?,我的主要意思是,已经生成静态页面了,该如何访问

sunxch100 发表于 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

正在研究这个问题呢!

shandongdh 发表于 2013-3-6 17:13:05

受教了!!

gooddong2012 发表于 2013-11-12 16:39:44

很不错,:lol:lol:lol
页: [1]
查看完整版本: PHP框架学习--codeigniter之CI生成静态页面