请问如何用php实现网页动态变静态

tim104 2004-04-09 07:50:04
我现在用php写了个动态读取数据库网页,现在想把它转为静态,请问如何读取其动态输出,把它写成html,即好像pconline的网页那样,请指教
...全文
27 点赞 收藏 21
写回复
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
pizi611 2004-04-23
你好我是刚刚接触动态转静态的。我想知道ice_berg16(寻梦的稻草人)这段代码生成的静态页面是生成完就存在还是关闭此页面就消失了。大家上面都写了转静态程序。不知这段程序是被每个页面调用还是单独执行的。请指教谢谢
回复
feixuehenshui 2004-04-10
上面的是用模板 加+HTML
回复
feixuehenshui 2004-04-10
<?php
ob_start();
require "main.php";

if(!isset($_GET['id']))
{
$tpl->assign('errormsg',"URL路径非法或URL参数错误!");
$tpl->display("error.htm");
exit;
}

$tpl->assign('softname',"sdfsdfsd"]);
$tpl->assign('displayname',$result->fields['au_displayname']);
$tpl->display("soft_view.htm");//模版文件

}
else{
$tpl->assign('errormsg',"该软件不存在,或者尚未通过验证");
$tpl->display("error.htm");

}

$str = ob_get_contents();
$fp = fopen('bb.html', 'w'); //将页面信息写到文件中
fwrite($fp, $str);
fclose($fp);
ob_end_clean(); //如果其用它用户的页面将不现实任何的东西
//ob_end_flush();
echo header("Location:bb.html");
?>
回复
jxyuhua 2004-04-10
http://expert.csdn.net/Expert/topic/2851/2851103.xml?temp=.1615412
我以前的问题
回复
xylegend 2004-04-10
其实通过HTML编辑器将发布的文档直接生成静态HTML文本也行
我的站点就是这样做的,不过具体的相关代码不是我写的……
回复
xylegend 2004-04-10
up
回复
xylegend 2004-04-10
收藏先
回复
jcwcom 2004-04-09
啊,谢谢楼上几位!!!!!
google上找这个方法好几天了,还是CSDN里的朋友快,呵
回复
ccterran 2004-04-09
http://www.csdn.net/Develop/read_article.asp?id=26184
回复
ice_berg16 2004-04-09
ob_start(); //打开输出缓冲,
echo "hello,这里的字符你是看不见的,它被放在缓存里啦!";//将输出保存在缓冲中
$str = ob_get_contents(); //取出缓存中的数据保存在$str变量中
$fp = fopen(date("YmdHis").".htm","w");//生成以当前日期为文件名的网页
fwrite($fp,$str); //将内容写进文件
fclose($fp);
ob_end_clean(); //关闭输出缓冲并清空
回复
jcwcom 2004-04-09
在google.com没找到,晕,
好少啊,
回复
wchun 2004-04-09
输出成文件
回复
phanx 2004-04-09
关于shtml,去google.com 搜索一下不就有了
回复
jcwcom 2004-04-09
SOHU,等这类大型网站的新闻全是这样的URL,http://news.sohu.com/2004/04/09/39/news219793906.shtml

他的这个news219793906.shtml是后台程序事先生成,然后放到目录下的吗???
2004/04/09/39
这个应该是更新新闻时按时间随机取的目录名吧?
为什么不用*.html,html和shtml有什么不同?
谁有关于shtml的详细文档?
回复
phanx 2004-04-09
如果不要将大量的页面转为静态,而只是针对部分页面,例如首页的话。那么在linux下面的一个好办法如下:

编辑一个文件例如 getindex ,内容为

用 wget -O /path/to/your/dir/index.html http://www.your.com/yyyyy_for_index.php

然后再crontab里面每隔半个小时运行 就ok了

虽然和楼主的不大相关,但是还是给各位说一声.



回复
sahafu89 2004-04-09
稻草人给解释一下撒
回复
song213 2004-04-09
回复
52juanjuan 2004-04-09
up
回复
多菜鸟 2004-04-09
好东东,收!!!
回复
ice_berg16 2004-04-09
ob_start();
//you code
$str = ob_get_contents();
$fp = fopen(date("YmdHis").".htm","w");//生成以当前日期为文件名的网页
fwrite($fp,$str);
fclose($fp);
ob_end_clean();
回复
发动态
发帖子
基础编程
创建于2007-09-28

2.1w+

社区成员

从PHP安装配置,PHP入门,PHP基础到PHP应用
申请成为版主
社区公告
暂无公告