찾다

 >  Q&A  >  본문

php中的ob_start()应用

php中的ob_start()函数的应用场景是什么时候,请讲解怎么用,谢谢。

ringa_leeringa_lee2774일 전418

모든 응답(4)나는 대답할 것이다

  • 巴扎黑

    巴扎黑2017-04-10 17:40:33

    延迟输出的时候有用

    因为原来的php是按脚本顺序执行的 如果前面输出了内容 ,执行到后面又想对前面已经输出的内容要修改,这时候就有用
    用法示例

    <?php
    
    function callback($buffer)
    {
      // replace all the apples with oranges
      return (str_replace("apples", "oranges", $buffer));
    }
    
    ob_start("callback");
    
    ?>
    <html>
    <body>
    <p>It's like comparing apples to oranges.</p>
    </body>
    </html>
    <?php
    
    ob_end_flush();
    
    ?> 
    

    회신하다
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-10 17:40:33

    比如你的程序需要输出一些内容到浏览器,而在输出的过程中因为某些异常或者错误需要放弃输出,则通过ob缓冲系统可以不把内容输出到浏览器(因为之前输出的内容还是缓冲中,可以随时清掉)。
    比如某些函数是直接输出的,而你又想只捕捉这些输出而不让它们传到浏览器,也可以通过ob系统来进行捕捉。

    회신하다
    0
  • 高洛峰

    高洛峰2017-04-10 17:40:33

    我只知道一种用法,就是将var_dump等输出的内容以字符串的形式返回给浏览器,比如:

        
    ob_start();
    var_dmp($data);
    $result = ob_get_clean();

    회신하다
    0
  • PHP中文网

    PHP中文网2017-04-10 17:40:33

    对你输出内容作统一修改的时候,你可以用这组方法在输出页面前取到输出内容,然后做完你想做的事之后,再输出

    회신하다
    0
  • 취소회신하다