<?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 => 'en',
  ),
  'this' => 
  array (
    0 => 'outcontrol.what-output-is-buffered.php',
    1 => 'What Output Is Buffered?',
    2 => 'What Output Is Buffered?',
  ),
  'up' => 
  array (
    0 => 'outcontrol.user-level-output-buffers.php',
    1 => 'User-Level Output Buffers',
  ),
  'prev' => 
  array (
    0 => 'outcontrol.user-level-output-buffers.php',
    1 => 'User-Level Output Buffers',
  ),
  'next' => 
  array (
    0 => 'outcontrol.nesting-output-buffers.php',
    1 => 'Nesting Output Buffers',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'en',
    '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">What Output Is Buffered?</h2>
  <p class="para">
   PHP&#039;s user-level output buffers buffer all output after they are started
   until they are turned off or the script ends.
   Output in the context of PHP&#039;s user-level output buffer
   is everything that PHP would display or send back to the browser.
   In practical terms, output is non-zero length data that is:
   <ul class="itemizedlist">
    <li class="listitem">
     <span class="simpara">
      outside of the <code class="literal">&lt;?php ?&gt;</code> tags
     </span>
    </li><li class="listitem">
     <span class="simpara">
      printed by language constructs and functions
      whose explicit purpose is to output user provided variables or strings such as
      <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">
      printed by functions whose purpose is to collect and output
      data/information on the running script or PHP such as
      <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 class="methodname"><a href="reflectionextension.info.php" class="methodname">ReflectionExtension::info()</a></span>
     </span>
    </li><li class="listitem">
     <span class="simpara">
      printed by PHP on an uncaught exception or an unhandled error
      (subject to the settings of
      <a href="errorfunc.configuration.php#ini.display-errors" class="link">display_errors</a>
      and <a href="errorfunc.configuration.php#ini.error-reporting" class="link">error_reporting</a>)
     </span>
    </li><li class="listitem">
     <span class="simpara">
      anything written to <code class="literal">php://output</code>
     </span>
    </li>
   </ul>
  </p>
  <blockquote class="note"><p><strong class="note">Note</strong>: 
   <span class="simpara">
    Data that is written directly to <code class="literal">stdout</code>
    or passed to an SAPI function with a similar functionality
    will not be captured by user-level output buffers.
    This includes
    writing data to <code class="literal">stdout</code> with <span class="function"><a href="function.fwrite.php" class="function">fwrite()</a></span>
    or sending headers using <span class="function"><a href="function.header.php" class="function">header()</a></span>
    or <span class="function"><a href="function.setcookie.php" class="function">setcookie()</a></span>.
   </span>
  </p></blockquote>
 </div><?php manual_footer($setup); ?>