如果采用重新生成静态页的话,回复的帖数多了(像天涯那样不分页显示帖子,而且有的达到上千条回复,采用重新生成的话),是不是很浪费资源和时间?
不知道csdn怎么做的

解决方案 »

  1.   

    生成XML就直接用PHP来拼XML格式了!
    显示的时候就用xsl,相当于一个模板功能!
    你看看这个http://community.csdn.net/Expert/Xsl/2.xsl
      

  2.   

    每回复一贴就重新生成xml吗?
    1000人回复就从头到尾重新生成1000次呢,还是回复一次追加一次(怎么追加)呢?
    谁能给详细一点的解释?谢谢!
      

  3.   

    不用那么麻烦呀,可以直接改服务器上的配置你可以去看看这个论坛:bbs.51huaqian.com这是用PHP做,你看看是不是要实现这种功能,在地址栏里显示为  .html 的
      

  4.   

    windust3313(蓝天)
    可你说的根本没有减轻服务器的负担!
      

  5.   

    晕啊 大家怎么都在答非所问
    如果不知道就别乱扯话题~~~~~~~`
    人家问的明明很清楚:
    ***********************************************
    *  每回复一贴就重新生成xml吗?
    *  1000人回复就从头到尾重新生成1000次呢,还是回复一次追加一次(怎么追加)呢?
    *  谁能给详细一点的解释?谢谢!
      

  6.   

    还要看你的xml文件时怎么做的了, 如果是标准的xml文件, 可以用dom来帮你实现就可以了.用dom解析,然后添加dom节点,在让dom自动帮你保存成文件旧可以了.
    但是前提是你的xml要是标准格式.
      

  7.   

    关键是XML要规范,但本人并不建议这种做法,毕竟目前的搜索引擎对XML支持有限...
    你做一个这种论坛恐怕永远也不会有一千人回复,所以也不必考虑性能了!
      

  8.   

    hahawen(变态的大龄青年) ( )
    谢谢,稍微懂你你的意思,能不能具体一点ddboy(留言版版主) 
    随达不到1000,但性能应该考虑
      

  9.   

    建议使用新生成文件的方式,因为:
    根据各位的讨论,确定楼主的系统访问量非常大,
    1,以最大1000条回复算,每条回复50个汉字,如果使用追加方式,那么生成的文件最终为48k左右。
    2,既然访问量大,那么同时回复的帖子也多,如果有10个帖子达到了平均值24K,并且被同时回复那么服务器开销可想而知了。
    基于php的xml处理能力比较弱,本人还是觉得新生成文件的方式较好。
      

  10.   

    请我们的hahawen(变态的大龄青年)谈谈!!关注中...........
      

  11.   

    回复人: phpsessid() 
    谢谢建议!
      

  12.   

    都不知道你想知道什么,如果是按CSDN的模式的话,其实根本不用考虑得那么复杂,因为CSDN以追加的形式来写入。
      

  13.   

    TO  ddboy(留言版版主):        楼主问的就是,如果以追加形式写入文本!!!!!        可以给段代码看看吗?
      

  14.   

    应该要重新再写入文件吧。
    因为xml里的只能有一个最外层标签,
    而<reply>回帖</reply>应该也要写到最外层标签里面吧。
    不能直接追加吧。最好的办法就是把文件指针移到最后一个<reply>回帖</reply>的后面,
    然后从再写入新的<reply>回帖</reply>,并写入外层的结束标签。
    如:
    原来
    <Topic>
    <content>发帖</content>
    <reply>回帖</reply>
    </Topic>回复时:
    <Topic>
    <content>发帖</content>
    <reply>回帖</reply><!-- 从这里开始写 -->
    <reply>回帖</reply>
    </Topic>这个方法可以减少一读入的数据量。但会增加了处理过程和代码的复杂度
      

  15.   

    最好的办法就是把文件指针移到最后一个<reply>回帖</reply>的后面,
    然后从再写入新的<reply>回帖</reply>,并写入外层的结束标签。
    ----------------------------------------------------------------
    TO  chon81(当我遇上你…) :       靠, 说得轻松, 你把程序实现给大家看看啊!
      

  16.   

    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>"; //把内容写进去吧
      

  17.   

    正常非封闭论坛浏览和回复比例大概5:1左右
    基本都是靠完全生成的,可以看看村里的一个精华贴http://www.phpx.com/happy/top92092.html挺好看的
      

  18.   

    TO phpsessid()     晕 你的还是相当于重新生成的``````    你的是把文件指针移到最后一个<reply>回帖</reply>的后面这样加入的吗?
      

  19.   

    no no
    看你文件的打开方式 是a 还是 w
      

  20.   

    谢谢phpsessid最近比较忙,没有上来看贴
      

  21.   

    我说得不知道对不对,我做asp得,才开始接触php,asp里使用fso文件操作系统,往htm里面写文本行,xml也差不多。不知道说清楚了没有
      

  22.   

    3x,我想知道sohu是怎么办到的^_^