什么是输出缓冲?

什么是输出缓冲,为什么在PHP中使用它?


Web开发者的输出缓冲,初学者指南:

如果没有输出缓冲(默认),您的HTML会通过您的脚本以PHP进程的形式发送到浏览器。 通过输出缓冲,您的HTML存储在一个变量中,并作为脚本末尾的一部分发送到浏览器。

Web开发人员输出缓冲的优点

  • 单独打开输出缓冲减少了下载和呈现我们的HTML所花费的时间,因为它不会像PHP处理HTML一样将它们发送到浏览器。
  • 所有我们可以用PHP字符串做的花哨的东西,我们现在可以将整个HTML页面作为一个变量来完成。
  • 如果您在设置cookie时遇到过“警告:无法修改标题信息 - (输出)已经发送的标题”的信息,那么您会很高兴知道输出缓冲是您的答案。

  • PHP使用输出缓冲来提高性能并执行一些技巧。

  • 您可以让PHP将所有输出存储到缓冲区中,并立即输出所有内容,从而提高网络性能。

  • 在某些情况下,您可以访问缓冲区内容而无需将其发送回浏览器。

  • 考虑这个例子:

    <?php
        ob_start( );
        phpinfo( );
        $output = ob_get_clean( );
    ?>
    

    上述示例将输出捕获到变量中,而不是将其发送到浏览器。 output_buffering默认关闭。

  • 您可以在发送内容后修改标题的情况下使用输出缓冲。
  • 考虑这个例子:

    <?php
        ob_start( );
        echo "Hello World";
        if ( $some_error )
        {
            header( "Location: error.php" );
            exit( 0 );
        }
    ?>
    

    输出控制功能允许您控制从脚本发送输出的时间。 在几种不同的情况下,这可能很有用,特别是如果您需要在脚本开始输出数据后将标题发送到浏览器。 输出控制函数不影响使用header()或setcookie()发送的头文件,而只影响echo()函数和PHP代码块之间的数据。

    http://php.net/manual/en/book.outcontrol.php

    更多资源:

    PHP输出缓冲

    链接地址: http://www.djcxy.com/p/5919.html

    上一篇: What is output buffering?

    下一篇: How to fix "Headers already sent" error in PHP