比如你的动态显示页面为display.php?id=1的话你可以在diplay里判断一下是否在对应目录存在对应id的文件名(这里假设文件为id号+html即1.html,2.html,...)
你判断 $id."html"这个文件是否存在于服务器,如果存在就直接跳转到这个页面,要是不存在的话就创建(建义用一个函数来创建,这样对页面改动不大,比如createHTML($_GET['id']),至于这个函数怎么写,我想你应该知道)然后再跳转
你判断 $id."html"这个文件是否存在于服务器,如果存在就直接跳转到这个页面,要是不存在的话就创建(建义用一个函数来创建,这样对页面改动不大,比如createHTML($_GET['id']),至于这个函数怎么写,我想你应该知道)然后再跳转
showNews.php?id=34
那么可以这么做
ob_start();
//你的正常程序代码
$html=ob_get_contents();
ob_end_clean();
$fp=fopen($_GET['id'].".htm", "w");
fwrite($fp, $html);
fclose($fp);
如此以来是不是动态和静态是两套系统了?只有访问动态的时候才会产生静态。
在静态之间访问没什么关系,但当有提交表单发生的时候肯定要转到在动态页面处理。
如此以来批量产生静态就会速度很慢。。
看看我的讨论帖子
http://community.csdn.net/Expert/topic/4561/4561298.xml?temp=.1808435
等生成静态后,你的链接就可以指向静态页面了,而不是指定showNews.php
这个页面可以放在后台专门用来生成静态页面,前台不需要它了。