是这样的,有一个detail.php
当数据没有生成HTML文件的时候,那么调用detail.php?id= 这种方式显示,当生成HTML文件后,那么直接打开该HTML文件。目前我采用的方式是使用file_get_contents(“detail.php?id=”)方法,然后生成HTML,这样的好处是detail.php发生变化那么生成的html也会发生相应变化,坏处是我不清楚通过file_get_contents效率要比直接替换{}要慢多少,大家有好的建议吗?

解决方案 »

  1.   

    每次都要动态生成一个HTML效率显然还不如PHP,因为你这样做仍然需要从PHP获得数据。
      

  2.   

    你不是还要写入文件吗,那么就应该使用file_get_contents
    直接替换的话你还需要ob函数来取得文件内容才能写入缓存文件吧
      

  3.   

    ob_start() //开启缓冲区,以下非http头信息都将不会立即输出到浏览器
    ...
    echo "php 对cache的控制方法";
    ...
    $contents = ob_get_contents()//从缓冲区获取结果
    file_put_contents($filename,$contents)//写入到文件
    ob_end_flush()//将缓冲区结果输出到浏览器
    ob_end_clean()//删除缓冲区内的内容
      

  4.   

    另外,你可以直接获取网址+文件的方法(实际上,大部分网站的静态都是这么来的——)这样,你接收一个最终形成的html文件即可。把这个文件写入你的网站目录,就OK~好像fopen就可以达到这个要求的说