目前我使用的方法是循环file_get_contents(),然后生成HTML。虽然读的是本地服务器页面,但是效率上感觉很低下,而且很浪费资源(不知道是不是)。我尝试过直接include detail.php,然后打开缓冲,将缓冲写入HTML,但是这样只能写一个HTML,因为include 只能使用一次,不能用在循环中。还有一种方法就是使用替换法,即使用{title}这种标签,然后将其替换掉,感觉这种方式似乎效率最好,但是,我的detail.php就无法使用了,因为我要保证如果没有生成HTML则通过detail.php?id=的方式打开。不晓得我到底错在哪里了,大家讲讲自己的方法吧!
(注意:detail.php为显示新闻页面)

解决方案 »

  1.   

    用其他的fwrite函数等都差不多
      

  2.   

    不考虑不行啊
    我想制作一个交易平台
    会员发布的信息将会变成HTML,如果还使用这种方法的话可能服务器承受不了
      

  3.   

    看php手册的“CVIII. Output Control 输出控制函数”
    用ob_*****系列函数即可,在你的循环中用用ob函数控制输出流,把输出流写到文件中
      

  4.   

    你得在数据库里面多做一个字段,这个字段用来保存你生成的html文件名。如果这个字段不为空,就说明你生成了HTML,直接调用HTML就OK这样就没有冲突了吧?php的fopen太强悍了,尽情的用吧
      

  5.   

    大家说的我都知道
    没仔细看我的问题啊
    detail.php相当于是一个用来生成HTML的模板
    我如果使用ob的方式,就只能include这个detail.php,但是include只能执行一次,不能循环。
      

  6.   

    detail.php相当于同时担负生成HTML的模扳以及未生成HTML的时用于显示动态内容。
      

  7.   

    有办法,一定有办法!不过你要批量生成,就是一个不怎么高明的做法include当然只能用一次,但是include_once呢?