什么是输出缓冲?

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

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

如果没有输出缓冲(默认),您的HTML将通过脚本作为PHP进程发送到浏览器。 通过输出缓冲,您的HTML存储在一个variables中,并在脚本结尾处作为一个整体发送到浏览器。

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

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

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

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

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

考虑这个例子:

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

上面的例子将输出捕获到一个variables中,而不是发送给浏览器。 output_buffering默认closures。

  • 您可以在发送内容后修改标题的情况下使用输出缓冲。

考虑这个例子:

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

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

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

更多资源:

输出缓冲与PHP

正如名字所暗示的那样,内存缓冲区用于pipe理脚本的输出如何出现。

这是一个非常好的教程的主题