<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.ob-end-flush">
 <refnamediv>
  <refname>ob_end_flush</refname>
  <refpurpose>Flush (send) the output buffer and turn off output buffering</refpurpose>
 </refnamediv>
 
 <refsect1 role="description">
  &reftitle.description;
  <methodsynopsis>
   <type>bool</type><methodname>ob_end_flush</methodname>
   <void/>
  </methodsynopsis>
  <para>
   This function will send the contents of the topmost output buffer (if
   any) and turn this output buffer off.  If you want to further
   process the buffer's contents you have to call
   <function>ob_get_contents</function> before
   <function>ob_end_flush</function> as the buffer contents are
   discarded after <function>ob_end_flush</function> is called.
  </para>
  <para>
   The output buffer must be started by
   <function>ob_start</function> with <link
   linkend="constant.php-output-handler-flushable">PHP_OUTPUT_HANDLER_FLUSHABLE</link>
   and <link
   linkend="constant.php-output-handler-removable">PHP_OUTPUT_HANDLER_REMOVABLE</link>
   flags. Otherwise <function>ob_end_flush</function> will not work.
  </para>
  <note>
   <simpara>
    This function is similar to <function>ob_get_flush</function>, except
    that <function>ob_get_flush</function> returns the buffer as a string.
   </simpara>
  </note>
 </refsect1>

 <refsect1 role="parameters">
  &reftitle.parameters;
  &no.function.parameters;
 </refsect1>

 <refsect1 role="returnvalues">
  &reftitle.returnvalues;
  <para>
   &return.success; Reasons for failure are first that you called the
   function without an active buffer or that for some reason a buffer could
   not be deleted (possible for special buffer).
  </para>
 </refsect1>

 <refsect1 role="errors">
  &reftitle.errors;
  <para>
   If the function fails it generates an <constant>E_NOTICE</constant>.
  </para>
 </refsect1>

 <refsect1 role="examples">
  &reftitle.examples;
  <para>
   <example>
    <title><function>ob_end_flush</function> example</title>
    <para>
     The following example shows an easy way to flush and end all output
     buffers:
    </para>
    <programlisting role="php">
<![CDATA[
<?php
  while (@ob_end_flush());
?>
]]>
    </programlisting>
   </example>
  </para>
 </refsect1>

 <refsect1 role="seealso">
  &reftitle.seealso;
  <para>
   <simplelist>
    <member><function>ob_start</function></member>
    <member><function>ob_get_contents</function></member>
    <member><function>ob_get_flush</function></member>
    <member><function>ob_flush</function></member>
    <member><function>ob_end_clean</function></member>
   </simplelist>
  </para>
 </refsect1> 

</refentry>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
