<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/outcontrol.user-level-output-buffers.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'zh',
  ),
  'this' => 
  array (
    0 => 'outcontrol.what-output-is-buffered.php',
    1 => '什么输出会被缓冲？',
    2 => '什么输出会被缓冲？',
  ),
  'up' => 
  array (
    0 => 'outcontrol.user-level-output-buffers.php',
    1 => '用户级输出缓冲区',
  ),
  'prev' => 
  array (
    0 => 'outcontrol.user-level-output-buffers.php',
    1 => '用户级输出缓冲区',
  ),
  'next' => 
  array (
    0 => 'outcontrol.nesting-output-buffers.php',
    1 => '嵌套输出缓冲区',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'zh',
    'path' => 'reference/outcontrol/user-level-output-buffers.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="outcontrol.what-output-is-buffered" class="section">
  <h2 class="title">什么输出会被缓冲？</h2>
  <p class="para">
   PHP 的用户级输出缓冲区在启动后缓冲所有输出，直到关闭或脚本结束。
   在 PHP 的用户级输出缓冲区的上下文中，输出是指 PHP 将显示或发送回浏览器的所有内容。
   在实际应用中，输出为非零长度的数据，即：
   <ul class="itemizedlist">
    <li class="listitem">
     <span class="simpara">
      <code class="literal">&lt;?php ?&gt;</code> 标签之外的内容
     </span>
    </li><li class="listitem">
     <span class="simpara">
      由语言结构和函数打印，其明确目的是打印用户提供的变量或字符串，例如
      <span class="function"><a href="function.echo.php" class="function">echo</a></span>、<span class="function"><a href="function.print.php" class="function">print</a></span>、<span class="function"><a href="function.printf.php" class="function">printf()</a></span>、<span class="function"><a href="function.var-dump.php" class="function">var_dump()</a></span>、<span class="function"><a href="function.var-export.php" class="function">var_export()</a></span>、<span class="function"><a href="function.vprintf.php" class="function">vprintf()</a></span>
     </span>
    </li><li class="listitem">
     <span class="simpara">
      由函数打印，其明确目的是收集和输出有关正在运行的脚本或者 PHP 的数据/信息，例如
      <span class="function"><a href="function.debug-print-backtrace.php" class="function">debug_print_backtrace()</a></span>、<span class="function"><a href="function.phpcredits.php" class="function">phpcredits()</a></span>、<span class="function"><a href="function.phpinfo.php" class="function">phpinfo()</a></span>
     </span>
    </li><li class="listitem">
     <span class="simpara">
      当 PHP 出现未捕获的异常或未处理的错误时（取决于 <a href="errorfunc.configuration.php#ini.display-errors" class="link">display_errors</a> 和
      <a href="errorfunc.configuration.php#ini.error-reporting" class="link">error_reporting</a> 的设置），会打印出相关信息。
     </span>
    </li><li class="listitem">
     <span class="simpara">
      任何写入到 <code class="literal">php://output</code> 的内容
     </span>
    </li>
   </ul>
  </p>
  <blockquote class="note"><p><strong class="note">注意</strong>: 
   <span class="simpara">
    用户级输出缓冲区不会捕获直接写入 <code class="literal">stdout</code> 或传递给具有类似功能的 SAPI 函数的数据。这包括使用
    <span class="function"><a href="function.fwrite.php" class="function">fwrite()</a></span> 将数据写入 <code class="literal">stdout</code> 或使用 <span class="function"><a href="function.header.php" class="function">header()</a></span>
    或 <span class="function"><a href="function.setcookie.php" class="function">setcookie()</a></span> 发送的 header。
   </span>
  </p></blockquote>
 </div><?php manual_footer($setup); ?>