用libtemplate实现静态网页生成

 更新时间:2006年10月09日 00:00:00   作者:  
  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;
      }
   所以说实现生成静态页面是很简单的.更新也非想象中那么复杂.
  (完)

相关文章

  • 第4章 数据处理-php正则表达式-郑阿奇(续)

    第4章 数据处理-php正则表达式-郑阿奇(续)

    第4章 数据处理-php正则表达式-郑阿奇(续) ,学习php正则表达式的朋友可以参考下。php正则是比较不错应用。
    2011-07-07
  • 介绍php设计模式中的工厂模式

    介绍php设计模式中的工厂模式

    在面向对象编程中, 最通常的方法是一个new操作符产生一个对象实例,new操作符就是用来构造对象实例的。但是在一些情况下, new操作符直接生成对象会带来一些问题。举例来说, 许多类型对象的创造需要一系列的步骤: 你可能需要计算或取得对象的初始设置; 选择生成哪个子对象实例; 或在生成你需要的对象之前必须先生成一些辅助功能的对象。 在这些情况, 新对象的建立就是一个 “过程”,不仅是一个操作,像一部大机器中的一个齿轮传动。
    2008-06-06
  • PHP的基本常识小结

    PHP的基本常识小结

    这些是写给初级PHP程序员或者入门不久的同学的,老鸟可以飘过,欢迎补充和评论;接受合理意见与批评
    2013-07-07
  • PHP 和 MySQL 基础教程(一)

    PHP 和 MySQL 基础教程(一)

    PHP 和 MySQL 基础教程(一)...
    2006-10-10
  • 一棵php的类树(支持无限分类)

    一棵php的类树(支持无限分类)

    一棵php的类树(支持无限分类)...
    2006-10-10
  • 实现“上一页”和“下一页按钮

    实现“上一页”和“下一页按钮

    实现“上一页”和“下一页按钮...
    2006-10-10
  • php strftime函数获取日期时间(switch用法)

    php strftime函数获取日期时间(switch用法)

    strftime是php中常见的将日期时间获取函数,将存入数据库中的数字转换为时间的函数,这里就为大家介绍一下strftime函数的用法与参数,需要的朋友可以参考下
    2018-05-05
  • 不用GD库生成当前时间的PNG格式图象的程序

    不用GD库生成当前时间的PNG格式图象的程序

    不用GD库生成当前时间的PNG格式图象的程序...
    2006-10-10
  • 初识PHP

    初识PHP

    本人是PHP菜鸟一枚,刚刚从asp.net转攻而来,这是本人看了一天的php视频教程所得。 仅仅是记录一下心得。
    2014-09-09
  • 用Socket发送电子邮件

    用Socket发送电子邮件

    用Socket发送电子邮件...
    2006-10-10

最新评论