<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/ref.outcontrol.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'zh',
  ),
  'this' => 
  array (
    0 => 'function.ob-get-status.php',
    1 => 'ob_get_status',
    2 => '得到所有输出缓冲区的状态',
  ),
  'up' => 
  array (
    0 => 'ref.outcontrol.php',
    1 => '输出控制 函数',
  ),
  'prev' => 
  array (
    0 => 'function.ob-get-level.php',
    1 => 'ob_get_level',
  ),
  'next' => 
  array (
    0 => 'function.ob-implicit-flush.php',
    1 => 'ob_implicit_flush',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'zh',
    'path' => 'reference/outcontrol/functions/ob-get-status.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.ob-get-status" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">ob_get_status</h1>
  <p class="verinfo">(PHP 4 &gt;= 4.2.0, PHP 5, PHP 7, PHP 8)</p><p class="refpurpose"><span class="refname">ob_get_status</span> &mdash; <span class="dc-title">得到所有输出缓冲区的状态</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-function.ob-get-status-description">
  <h3 class="title">说明</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>ob_get_status</strong></span>(<span class="methodparam"><span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span> <code class="parameter">$full_status</code><span class="initializer"> = <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong></span></span>): <span class="type"><a href="language.types.array.php" class="type array">array</a></span></div>

  <p class="para rdfs-comment">
   <span class="function"><strong>ob_get_status()</strong></span> 返回最顶层输出缓冲区的状态信息；或者如果 <code class="parameter">full_status</code>
   设为 <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong>，返回所有有效的输出缓冲级别。
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-function.ob-get-status-parameters">
  <h3 class="title">参数</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">full_status</code></dt>
     <dd>
      <p class="para">
        设为 <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong> 返回所有有效的输出缓冲区级别的状态信息。如果设为 <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> 或者没有设置，仅返回最顶层输出缓冲区的状态信息。
      </p>
     </dd>
    
   </dl>
  </p>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.ob-get-status-returnvalues">
  <h3 class="title">返回值</h3>
  <p class="para">
   如果省略了 <code class="parameter">full_status</code> 或传递
   <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong>，则返回简单的数组，该数组保存有关活动输出级别的状态信息。
  </p>
  <p class="para">
   如果 <code class="parameter">full_status</code> 为 <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong>，则返回数组，其中每个元素都包含活动输出缓冲区级别。输出级别用作顶级数组的
   key，每个数组元素本身又是另一个数组，包含活动输出级别的状态信息。
  </p>
  <p class="para">
   如果未打开输出缓冲，则返回空数组。
  </p>
  <p class="para">
   <table class="segmentedlist">
    <caption><strong><span class="function"><strong>ob_get_status()</strong></span> 返回的数组元素</strong></caption>
    <thead><tr><th>Key</th><th>值</th>
    </tr></thead><tbody><tr class="seglistitem">
     <td class="seg">name</td>
     <td class="seg">
      活动输出处理程序的名称（有关详细信息，请参阅 <span class="function"><a href="function.ob-list-handlers.php" class="function">ob_list_handlers()</a></span> 的返回值）
     </td>
    </tr>
    <tr class="seglistitem">
     <td class="seg">type</td>
     <td class="seg">
      <code class="literal">0</code>（内部处理程序）或
      <code class="literal">1</code>（用户提供的处理程序）
     </td>
    </tr>
    <tr class="seglistitem">
     <td class="seg">flags</td>
     <td class="seg">
      <span class="function"><a href="function.ob-start.php" class="function">ob_start()</a></span> 设置的 flag 掩码、输出处理程序的类型（见上文）和缓冲过程的状态（<a href="outcontrol.constants.php#outcontrol.constants.flags-returned-by-handler" class="link">
      <strong><code><a href="outcontrol.constants.php#constant.php-output-handler-start">PHP_OUTPUT_HANDLER_<span class="replaceable">*</span></a></code></strong></a> 常量）。如果处理程序成功处理缓冲并且没有返回 <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong>，则将会设置
      <strong><code><a href="outcontrol.constants.php#constant.php-output-handler-started">PHP_OUTPUT_HANDLER_STARTED</a></code></strong> 和 <strong><code><a href="outcontrol.constants.php#constant.php-output-handler-processed">PHP_OUTPUT_HANDLER_PROCESSED</a></code></strong>。如果处理程序在处理缓冲时失败或返回 <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong>，则将设置
      <strong><code><a href="outcontrol.constants.php#constant.php-output-handler-started">PHP_OUTPUT_HANDLER_STARTED</a></code></strong> 和 <strong><code><a href="outcontrol.constants.php#constant.php-output-handler-disabled">PHP_OUTPUT_HANDLER_DISABLED</a></code></strong>。
     </td>
    </tr>
    <tr class="seglistitem">
     <td class="seg">level</td>
     <td class="seg">
      输出嵌套级别（从 0 开始）。注意 <span class="function"><a href="function.ob-get-level.php" class="function">ob_get_level()</a></span> 对于相同级别返回的值相差 1。<span class="function"><strong>ob_get_status()</strong></span>
      的第一级为 <code class="literal">0</code>，<span class="function"><a href="function.ob-get-level.php" class="function">ob_get_level()</a></span> 的第一级为 <code class="literal">1</code>。
     </td>
    </tr>
    <tr class="seglistitem">
     <td class="seg">chunk_size</td>
     <td class="seg">
      块大小（以字节为单位）。通过 <span class="function"><a href="function.ob-start.php" class="function">ob_start()</a></span> 设置或启用 <a href="outcontrol.configuration.php#ini.output-buffering" class="link">output_buffering</a> 并将其值设置为正整数
     </td>
    </tr>
    <tr class="seglistitem">
     <td class="seg">buffer_size</td>
     <td class="seg">
      输出缓冲区字节大小
     </td>
    </tr>
    <tr class="seglistitem">
     <td class="seg">buffer_used</td>
     <td class="seg">
      输出缓冲区中数据的字节大小（与 <span class="function"><a href="function.ob-get-length.php" class="function">ob_get_length()</a></span> 的整数返回值相同）
     </td>
    </tr>
   </tbody></table>
  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-function.ob-get-status-examples">
  <h3 class="title">示例</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>示例 #1 当 <code class="parameter">full_status</code> 是 <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> 的返回数组</strong></p>
    <div class="example-contents screen">
<div class="examplescode"><pre class="examplescode">Array
(
    [name] =&gt; URL-Rewriter
    [type] =&gt; 0
    [flags] =&gt; 112
    [level] =&gt; 2
    [chunk_size] =&gt; 0
    [buffer_size] =&gt; 16384
    [buffer_used] =&gt; 1024
)</pre>
</div>
    </div>
   </div>
  </p>
  <p class="para">
   <div class="example" id="example-2">
    <p><strong>示例 #2 当 <code class="parameter">full_status</code> 是 <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong> 的返回数组</strong></p>
    <div class="example-contents screen">
<div class="examplescode"><pre class="examplescode">Array
(
    [0] =&gt; Array
        (
            [name] =&gt; default output handler
            [type] =&gt; 0
            [flags] =&gt; 112
            [level] =&gt; 1
            [chunk_size] =&gt; 0
            [buffer_size] =&gt; 16384
            [buffer_used] =&gt; 2048
        )

    [1] =&gt; Array
        (
            [name] =&gt; URL-Rewriter
            [type] =&gt; 0
            [flags] =&gt; 112
            [level] =&gt; 2
            [chunk_size] =&gt; 0
            [buffer_size] =&gt; 16384
            [buffer_used] =&gt; 1024
        )

)</pre>
</div>
    </div>
   </div>
  </p>
 </div>


 <div class="refsect1 seealso" id="refsect1-function.ob-get-status-seealso">
  <h3 class="title">参见</h3>
  <p class="para">
   <ul class="simplelist">
    <li><span class="function"><a href="function.ob-get-level.php" class="function" rel="rdfs-seeAlso">ob_get_level()</a> - 返回输出缓冲机制的嵌套级别</span></li>
    <li><span class="function"><a href="function.ob-list-handlers.php" class="function" rel="rdfs-seeAlso">ob_list_handlers()</a> - 列出所有使用的输出处理程序</span></li>
    <li><span class="function"><a href="function.ob-get-length.php" class="function" rel="rdfs-seeAlso">ob_get_length()</a> - 返回输出缓冲区内容的长度</span></li>
    <li><span class="function"><a href="function.ob-start.php" class="function" rel="rdfs-seeAlso">ob_start()</a> - 打开输出控制缓冲</span></li>
   </ul>
  </p>
 </div>


</div><?php manual_footer($setup); ?>