就是把php的输出写到一个文件里

解决方案 »

  1.   

    还是挺有用的,前段时间写rss用的就是这种方法。
      

  2.   

    文章相关段落如下:
    来,让我们看看能用ob系列函数做些什么……   一、 静态模版技术   简介:所谓静态模版技术就是通过某种方式,使得用户在client端得到的是由PHP产生的html页  
    面。如果这个html页面不会再被更新,那么当另外的用户再次浏览此页面时,程序将不会再调用  
    PHP以及相关的数据库,对于某些信息量比较大的网站,例如sina,163,sohu。类似这种的技术带  
    来的好处是非常巨大的。   我所知道的实现静态输出的有两种办法:   
    <1>.通过y10k修改的phplib的一个叫template.inc.php类实现。   
    <2>.使用ob系列函数实现。   
    对于第一种方法,因为不是这篇文章所要研究的问题,所以不再赘述。   
    我们现在来看一看第二种方法的具体实现:   
    Example 4.   
    -------------------------------------------------------------------------------------  
    ---------------------------------   
    ob_start();//打开缓冲区   
    ?>   
    php页面的全部输出   
    $content = ob_get_contents();//取得php页面输出的全部内容   
    $fp = fopen(“output00001.html”, “w”); //创建一个文件,并打开,准备写入   
    fwrite($fp, $content); //把php页面的内容全部写入output00001.html,然后……   
    fclose($fp);   
    ?>   
    -------------------------------------------------------------------------------------  
    ---------------------------------   
    这样,所谓的静态模版就很容易的被实现了……   ————————————————————————————————————
    我所不理解的是,为什么这里非要用ob呢?
      

  3.   

    这是ob函数组的一个应用,并非生成静态页面一定要用ob函数
      

  4.   

    他的作用是
    缓存php的输出,即在ob_start()后php的输出都转向到缓冲区而不发往客户
      

  5.   

    要是没有ob_start()下面的代码有什么用???
    $content = ob_get_contents();//取得php页面输出的全部内容
    你怎么写*.html代码??
      

  6.   

    我不单指ob_start();
    我是指所有的ob系列函数在这里的使用。
    我直接使用fread或file来实现不就行了?用ob系列函数有什么特别的优点吗?(别跟我说就是buffer)
      

  7.   

    ob_functions是输出控制函数组。
    在php中echo、print、printf等输出函数在执行时是直接将其结果送往系统的标准输出设备的
    当使用ob时,这些输出将被重定向的缓冲区,而不被直接输出。一个例外是http头类函数的输出不被缓存谁也没有强制你使用ob函数,你也不必要因别人使用而说三道四!
      

  8.   

    我没有因别人使用说三道四我只想知道用ob来进行静态模板有什么优点。OK?不要再跟我说什么buffer啊之类的,这个我懂。
      

  9.   

    这只是生成静态页面的一种方法,当然你也可选择其它方法,
    你使用fread和fwrite时除非有静态模板,
    不然你读的都是PHP源代码,怎么获得生成后的数据?
    又怎么能将生成后的数据生成静态页面?
    使用ob函数就可以得到你PHP的执行后的结果。