生成静态系统的疑惑?求教各位同志

neter_007 2005-06-02 11:27:48
我在自己的机器WIN2000+PHP4.3.10+APACHE2上完成自己的个人网站系统,我想练习把整个站点系统生成静态系统,遇到以下问题:
1,用什么方法一次把所有动态页面生成静态页面?
2,若不能一次性生成,那把带$_GET变量的页面生成的静态页面该如何组织?使生成的静态页面和链接点轻松吻合。
希望得到各位大虾的详尽赐教,小弟不胜感激。(这个问题困扰我几天了,我在网上转悠了很多次,没见这方面的资料。)知道的兄弟最好能给出代码,也可以告诉我解答思路或资料链接点。谢谢!
...全文
122 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
raid79 2005-06-04
  • 打赏
  • 举报
回复
mark
  • 打赏
  • 举报
回复
其实原理很简单,就是将传过来的网址进行解析,如果解析后的静态网页存在就直接跳转到此网页,如果不存在,就先输出此静态文件再跳转到它。
neter_007 2005-06-04
  • 打赏
  • 举报
回复
to xuzuning(唠叨):
谢谢大兄弟的热心回复,我想知道你对这样的问题整个处理过程,可以麻烦你写一下整个处理流程吗?我真的很想知道,再谢!(如果有更好的实现方法,万望不惜赐教,不要局限于我的思路)
xuzuning 2005-06-04
  • 打赏
  • 举报
回复
在写入文件时做一次串替换
$html = preg_replace("/newshow\.php\?id=(\d+)/","../20050602/\\1.html",$html);
snowleaf 2005-06-04
  • 打赏
  • 举报
回复
不错
neter_007 2005-06-03
  • 打赏
  • 举报
回复
to loveconan(放牛娃娃) 你的回答跑题了
to love01px() 谢谢你的回复,我知道 单个页面 可以用ob_系列"输出控制函数"函数或模板实现静态化,
但我转不过弯来的是:
比如在一个页面上有个连结点样式<a href=newshow.php?id=224>NEWS</a>(此页面也模板化生成了静态页面)
我把newshow.php?id=224也已经模板化生成了静态页面为../20050602/224.html了,
我的问题就是怎样把这个新生成的(../20050602/224.html)页面和原连结点 NEWS 链接起来,使页面连接点变成<a href=../20050602/224.html>NEWS</a>
像sports.sina.com.cn中的新闻列表的样式,http://sports.sina.com.cn/g/2005-06-03/19161595137.shtml
我也不知道我描述清楚了没,也不知道可不可以实现
loveconan 2005-06-03
  • 打赏
  • 举报
回复
居然这么多人迷信Smarty是最好的……
indexroot 2005-06-03
  • 打赏
  • 举报
回复
最好的模板
参考:超越模板引擎
http://www.phpe.net/articles/384.shtml
indexroot 2005-06-02
  • 打赏
  • 举报
回复
用ob_系列"输出控制函数"函数

ob_start();
............
............
//捕捉输出
$content=ob_get_contents();

ob_end_clean();
//再写入文件
function wfile($file,$content,$mode='w') {
$oldmask = umask(0);
$fp = fopen($file, $mode);
if (!$fp) return false;
fwrite($fp,$content);
fclose($fp);
umask($oldmask);
return true;
}

wfile("文件名",$content);


或者用模板

http://www.phpe.net/?n=ReadArticle&a=7

http://www.phpe.net/?n=ReadArticle&a=220

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧