用libtemplate实现静态网页生成
用libtemplate实现静态网页生成
发布时间:2016-12-29 来源:查字典编辑
摘要:bycoldwind/iwind/month/ccterranhttp://iwind.org有很长一段时间我到处问别人怎么实现静态网页,还...

by coldwind/iwind/month/ccterran http://iwind.org

有很长一段时间我到处问别人怎么实现静态网页,还向唠叨提过问题,而如今,我终于想出了一个很简单的办法,那就是用libtemplate来实现它。

大家看:http://doc.iwind.org

下面我就如何实现静态网页输出谈一谈。

1,修改libtemplate.

加入两个函数

//将分析结果保存到文件中去

function savetofile ($dir,$varname){

$data=$this->finish($this->get_var($varname));

$fp=fopen($dir,"w+");

fwrite($fp,$data);

}

函数中的dir是我们要保存在文件的地方。varname则是libtemplate中$target,使用如下:

$tpl->set_file("main","main.tpl");

...

$tpl->parse("mains","main");

$tpl->savetofile("html/main.html","mains");

相信懂libtemplate的读者很容易理解这些.

//清除已赋值数组

function renew(){

$this->varkeys=array();

$this->varvals=array();

$this->file=array();

}

这样就可以清除前面模板分析的影响.

2,实现静态输出.

如果输出的是单文件正如上面的一个例子.

$tpl->set_file("main","main.tpl");

...

$tpl->parse("mains","main");

$tpl->savetofile("html/main.html","mains");

但一旦我们更改了文章显示的模板,如何使以前生成的静态网页如何快速更新呢?显然要循环输出.例子如下:

html_info(){//单个文件,只是一个相似的例子

global $tpl;

$tpl->set_file("main","main.tpl");

...

$tpl->parse("mains","main");

$tpl->savetofile("html/main.html","mains");

$tpl->renew();//至关重要

}

//循环输出

for($i=0;$i<$total;$i++){

...

html_info;

}

所以说实现生成静态页面是很简单的.更新也非想象中那么复杂.

(完)

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新php教程学习
热门php教程学习
编程开发子分类