生成静态页面,回答详细的话另给分! 如果采用重新生成静态页的话,回复的帖数多了(像天涯那样不分页显示帖子,而且有的达到上千条回复,采用重新生成的话),是不是很浪费资源和时间?不知道csdn怎么做的 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 生成XML就直接用PHP来拼XML格式了!显示的时候就用xsl,相当于一个模板功能!你看看这个http://community.csdn.net/Expert/Xsl/2.xsl 每回复一贴就重新生成xml吗?1000人回复就从头到尾重新生成1000次呢,还是回复一次追加一次(怎么追加)呢?谁能给详细一点的解释?谢谢! 不用那么麻烦呀,可以直接改服务器上的配置你可以去看看这个论坛:bbs.51huaqian.com这是用PHP做,你看看是不是要实现这种功能,在地址栏里显示为 .html 的 windust3313(蓝天)可你说的根本没有减轻服务器的负担! 晕啊 大家怎么都在答非所问如果不知道就别乱扯话题~~~~~~~`人家问的明明很清楚:************************************************ 每回复一贴就重新生成xml吗?* 1000人回复就从头到尾重新生成1000次呢,还是回复一次追加一次(怎么追加)呢?* 谁能给详细一点的解释?谢谢! 还要看你的xml文件时怎么做的了, 如果是标准的xml文件, 可以用dom来帮你实现就可以了.用dom解析,然后添加dom节点,在让dom自动帮你保存成文件旧可以了.但是前提是你的xml要是标准格式. 关键是XML要规范,但本人并不建议这种做法,毕竟目前的搜索引擎对XML支持有限...你做一个这种论坛恐怕永远也不会有一千人回复,所以也不必考虑性能了! hahawen(变态的大龄青年) ( )谢谢,稍微懂你你的意思,能不能具体一点ddboy(留言版版主) 随达不到1000,但性能应该考虑 建议使用新生成文件的方式,因为:根据各位的讨论,确定楼主的系统访问量非常大,1,以最大1000条回复算,每条回复50个汉字,如果使用追加方式,那么生成的文件最终为48k左右。2,既然访问量大,那么同时回复的帖子也多,如果有10个帖子达到了平均值24K,并且被同时回复那么服务器开销可想而知了。基于php的xml处理能力比较弱,本人还是觉得新生成文件的方式较好。 请我们的hahawen(变态的大龄青年)谈谈!!关注中........... 回复人: phpsessid() 谢谢建议! 都不知道你想知道什么,如果是按CSDN的模式的话,其实根本不用考虑得那么复杂,因为CSDN以追加的形式来写入。 TO ddboy(留言版版主): 楼主问的就是,如果以追加形式写入文本!!!!! 可以给段代码看看吗? 应该要重新再写入文件吧。因为xml里的只能有一个最外层标签,而<reply>回帖</reply>应该也要写到最外层标签里面吧。不能直接追加吧。最好的办法就是把文件指针移到最后一个<reply>回帖</reply>的后面,然后从再写入新的<reply>回帖</reply>,并写入外层的结束标签。如:原来<Topic><content>发帖</content><reply>回帖</reply></Topic>回复时:<Topic><content>发帖</content><reply>回帖</reply><!-- 从这里开始写 --><reply>回帖</reply></Topic>这个方法可以减少一读入的数据量。但会增加了处理过程和代码的复杂度 最好的办法就是把文件指针移到最后一个<reply>回帖</reply>的后面,然后从再写入新的<reply>回帖</reply>,并写入外层的结束标签。----------------------------------------------------------------TO chon81(当我遇上你…) : 靠, 说得轻松, 你把程序实现给大家看看啊! to: zhiin() ouk.cn () 最好的办法就是把文件指针移到最后一个<reply>回帖</reply>的后面,然后从再写入新的<reply>回帖</reply>,并写入外层的结束标签。----------------------------------------------------------------TO chon81(当我遇上你…) : 靠, 说得轻松, 你把程序实现给大家看看啊!-----------------------------------------不要靠吗,靠什么靠?高素质,高姿态。easy...$replyString = "<reply>asdfjhasjdhfkjashdfjhasjdhfjk</reply>";$fHandle = @fopen("aaaaa.xml", "r+b") or die("ERROR @ line 2");while(!feof($fHandle)) { $string = fgets($fHandle, 1024);}$arr = explode("</Topic>",$string);//--------------------------------------------$newContent = $arr[0].$replyString."</Topic>"; //把内容写进去吧 正常非封闭论坛浏览和回复比例大概5:1左右基本都是靠完全生成的,可以看看村里的一个精华贴http://www.phpx.com/happy/top92092.html挺好看的 TO phpsessid() 晕 你的还是相当于重新生成的`````` 你的是把文件指针移到最后一个<reply>回帖</reply>的后面这样加入的吗? no no看你文件的打开方式 是a 还是 w 谢谢phpsessid最近比较忙,没有上来看贴 我说得不知道对不对,我做asp得,才开始接触php,asp里使用fso文件操作系统,往htm里面写文本行,xml也差不多。不知道说清楚了没有 3x,我想知道sohu是怎么办到的^_^ 用smtp发送邮件不成功, phpmailer 问题 PHP分类问题,不会做。 ...........小小问题 windows+apache+php如何发邮件啊??急!!!! 问一个问题, .htaccess写错了,怎么更改或者删除? 关于用phpmailer 发邮件的问题 FCKeditor 在Smarty中怎么用 重大发现!!!! 关于php中mail()的用法: php中循环读出mysql 关于网站用YYYY-MM-DD(当时的日期)作为路径来组织页面的疑惑?
显示的时候就用xsl,相当于一个模板功能!
你看看这个http://community.csdn.net/Expert/Xsl/2.xsl
1000人回复就从头到尾重新生成1000次呢,还是回复一次追加一次(怎么追加)呢?
谁能给详细一点的解释?谢谢!
可你说的根本没有减轻服务器的负担!
如果不知道就别乱扯话题~~~~~~~`
人家问的明明很清楚:
***********************************************
* 每回复一贴就重新生成xml吗?
* 1000人回复就从头到尾重新生成1000次呢,还是回复一次追加一次(怎么追加)呢?
* 谁能给详细一点的解释?谢谢!
但是前提是你的xml要是标准格式.
你做一个这种论坛恐怕永远也不会有一千人回复,所以也不必考虑性能了!
谢谢,稍微懂你你的意思,能不能具体一点ddboy(留言版版主)
随达不到1000,但性能应该考虑
根据各位的讨论,确定楼主的系统访问量非常大,
1,以最大1000条回复算,每条回复50个汉字,如果使用追加方式,那么生成的文件最终为48k左右。
2,既然访问量大,那么同时回复的帖子也多,如果有10个帖子达到了平均值24K,并且被同时回复那么服务器开销可想而知了。
基于php的xml处理能力比较弱,本人还是觉得新生成文件的方式较好。
谢谢建议!
因为xml里的只能有一个最外层标签,
而<reply>回帖</reply>应该也要写到最外层标签里面吧。
不能直接追加吧。最好的办法就是把文件指针移到最后一个<reply>回帖</reply>的后面,
然后从再写入新的<reply>回帖</reply>,并写入外层的结束标签。
如:
原来
<Topic>
<content>发帖</content>
<reply>回帖</reply>
</Topic>回复时:
<Topic>
<content>发帖</content>
<reply>回帖</reply><!-- 从这里开始写 -->
<reply>回帖</reply>
</Topic>这个方法可以减少一读入的数据量。但会增加了处理过程和代码的复杂度
然后从再写入新的<reply>回帖</reply>,并写入外层的结束标签。
----------------------------------------------------------------
TO chon81(当我遇上你…) : 靠, 说得轻松, 你把程序实现给大家看看啊!
然后从再写入新的<reply>回帖</reply>,并写入外层的结束标签。
----------------------------------------------------------------
TO chon81(当我遇上你…) : 靠, 说得轻松, 你把程序实现给大家看看啊!-----------------------------------------
不要靠吗,靠什么靠?高素质,高姿态。easy...$replyString = "<reply>asdfjhasjdhfkjashdfjhasjdhfjk</reply>";$fHandle = @fopen("aaaaa.xml", "r+b") or die("ERROR @ line 2");
while(!feof($fHandle)) {
$string = fgets($fHandle, 1024);
}
$arr = explode("</Topic>",$string);
//--------------------------------------------
$newContent = $arr[0].$replyString."</Topic>"; //把内容写进去吧
基本都是靠完全生成的,可以看看村里的一个精华贴http://www.phpx.com/happy/top92092.html挺好看的
看你文件的打开方式 是a 还是 w