用libtemplate实现静态网页生成

2016-01-29 15:00 12 1 收藏

用libtemplate实现静态网页生成,用libtemplate实现静态网页生成

【 tulaoshi.com - PHP 】

    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;
      }
   所以说实现生成静态页面是很简单的.更新也非想象中那么复杂.
  (完) 

来源:https://www.tulaoshi.com/n/20160129/1494976.html

延伸阅读
标签: Web开发
用js生成任意圆角,下一步就是加入直角导角,圆角导外,外圆角导个,还有边框处理,阴影生成,还有柔化处理都是以后的重点和难点. 中工工基 人遥仍失遥士大夫工士大夫花样百出地苛夺花样百出地人测试有的我不想信工大师傅苛夺工士大夫花样百出地模压 械夺棋栽夺苛夺棋地花样百出地模压械夺棋栽夺中工工基 人遥仍失遥士大夫工士大夫花样百出地苛夺花...
标签: Web开发
代码如下: % if SaveFile("/htm/list.htm","http://www.xxx.com/asp/list.asp") then Response.write "已生成" else Response.write "没有生成" end if function SaveFile(LocalFileName,RemoteFileUrl) Dim Ads, Retrieval, GetRemoteData On Error Resume Next Set&...
标签: Web开发
asp网站程序在国内运用很广,但是类似于im286.asp?id=20050307213811这样的url有点不利于搜索引擎的收录,也就是说不符合友好url(urls-friendly)的标准,那么我们用isapi_rewrite打造一个clean url,让蜘蛛欢欢喜喜的来爬你的站吧。 废话不多说,开工! 1、下载isapi_rewrite.isapi_rewrite分精简(lite)和完全(full)版.精简版不...
标签: Web开发
代码如下: ?php  class html  {      var $dir;        //dir for the htmls(without/)      var $rootdir;    //root of html files(without/):html  &n...
标签: Web开发
传统的网页BBS大多是采用CGI模式实现的,它的实现要求编程者既要掌握编程语言如Perl或C等,又要了解关于CGI模式的各项技术内容,因此要制作自己的网页BBS确实困难不小。ASP(Active Server Pages 动态服务器主页)的出现,使我们眼前一亮,能不能利用ASP实现网页BBS呢?回答当然是肯定的。ASP的诱人之处就在于它提供了一种简单易学的脚本,并带...

经验教程

654

收藏

80
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部