六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 122|回复: 0

总结下现在我知道的php生成静态页面的办法

[复制链接]

升级  92.67%

53

主题

53

主题

53

主题

秀才

Rank: 2

积分
189
 楼主| 发表于 2013-2-7 19:45:08 | 显示全部楼层 |阅读模式
<?php    $title = "http://";    $file = "TwoMax Inter test templet,<br>author:Matrix@Two_Max";    $fp = fopen ("temp.html","r");    $content = fread ($fp,filesize ("temp.html"));    $content = str_replace ("{file}",$file,$content);    $content = str_replace ("{title}",$title,$content);     // 生成列表开始    $list = '';    $sql = "select id,title,filename from article";    $query = mysql_query ($sql);    while ($result = mysql_fetch_array ($query)){    $list .= '<a href='.$root.$result['filename'].'   target=_blank>'.$result['title'].'</a><br>';    }    $content .= str_replace ("{articletable}",$list,$content);     //生成列表结束    // echo $content;     $filename = "test/test.html";    $handle = fopen ($filename,"w"); //打开文件指针,创建文件    /*   检查文件是否被创建且可写    */    if (!is_writable ($filename)){     die ("文件:".$filename."不可写,请检查其属性后重试!");    }    if (!fwrite ($handle,$content)){ //将信息写入文件     die ("生成文件".$filename."失败!");    }     fclose ($handle); //关闭指针     die ("创建文件".$filename."成功!");  ?> 首先说原理。某驼查了那么多资料,发现不管用什么方法,原理都是一样的。就是用程序读取相应的数据来替换模版中的变量,然后生成静态页。php中主要用到的就是要用到fread()和fwirte()。而静态页面生成了之后,就会牵扯到修改的问题。这里可以用到正则匹配的方法来替换模版中改变的部位。不过此种方法太麻烦,驼驼推荐的方法是直接把原来生成的模版砍掉,重新生成,呵呵,真正的一了百了。
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表