用libtemplate实现静态网页生成
【字号:
大 中 小】
日期:2023-09-18 19:44:13浏览:51作者:馨心
;;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;}所以说实现生成静态页面是很简单的.更新也非想象中那么复杂.(完)