diff --git a/reference/outcontrol/constants.xml b/reference/outcontrol/constants.xml
index 229221d26..6f4450d11 100644
--- a/reference/outcontrol/constants.xml
+++ b/reference/outcontrol/constants.xml
@@ -1,14 +1,18 @@
-
+
&reftitle.constants;
&extension.constants.core;
-
+
+ 传递给输出处理程序的状态 flag
+
+ 下列 flag 作为位掩码的一部分传递给由 ob_start 设置的输出处理程序的第二个(phase)参数:
+
PHP_OUTPUT_HANDLER_START
- (int)
+ (int)
@@ -19,29 +23,29 @@
PHP_OUTPUT_HANDLER_WRITE
- (int)
+ (int)
- 表示输出缓冲正在刷新,并且有数据要输出。
+ 表示输出缓冲区正在刷新,并且有数据要输出。
PHP_OUTPUT_HANDLER_FLUSH
- (int)
+ (int)
- 表示缓冲已清空。
+ 表示缓冲区已清空。
PHP_OUTPUT_HANDLER_CLEAN
- (int)
+ (int)
@@ -52,7 +56,7 @@
PHP_OUTPUT_HANDLER_FINAL
- (int)
+ (int)
@@ -63,11 +67,11 @@
PHP_OUTPUT_HANDLER_CONT
- (int)
+ (int)
- 表示缓冲已清空,但输出缓冲将继续。
+ 表示缓冲区已清空,但输出缓冲将继续。
这是 PHP_OUTPUT_HANDLER_WRITE 的别名。
@@ -77,7 +81,7 @@
PHP_OUTPUT_HANDLER_END
- (int)
+ (int)
@@ -88,47 +92,56 @@
+
+
+ 输出缓冲区控制 flag
+
+ 下列 flag 作为位掩码的一部分传递给由 ob_start 设置的输出处理程序的第三个(flags)参数:
+
PHP_OUTPUT_HANDLER_CLEANABLE
- (int)
+ (int)
- 控制 ob_start 创建的输出缓冲是否可以清除。
+ 控制 ob_start 创建的输出缓冲区是否可以由 ob_clean 清除。这个 flag
+ 不能控制 ob_end_clean 或 ob_get_clean 的行为。
PHP_OUTPUT_HANDLER_FLUSHABLE
- (int)
+ (int)
- 控制 ob_start 创建的输出缓冲是否可以刷新。
+ 控制 ob_start 创建的输出缓冲区是否可以由 ob_flush 刷新。这个 flag
+ 不能控制 ob_end_flush 或 ob_get_flush 的行为。
PHP_OUTPUT_HANDLER_REMOVABLE
- (int)
+ (int)
- 控制 ob_start 创建的输出缓冲是否可以在脚本结束前移除。
+ 控制 ob_start 创建的输出缓冲区是否可以在脚本结束前或者调用
+ ob_end_clean、ob_end_flush、ob_get_clean 或 ob_get_flush 移除。
PHP_OUTPUT_HANDLER_STDFLAGS
- (int)
+ (int)
- 输出缓冲 flag 的默认设置;当前等同于
+ 输出缓冲区 flag 的默认设置;当前等同于
PHP_OUTPUT_HANDLER_CLEANABLE |
PHP_OUTPUT_HANDLER_FLUSHABLE |
PHP_OUTPUT_HANDLER_REMOVABLE.
@@ -136,6 +149,46 @@
+
+ 输出处理程序状态 flag
+
+ 下列 flag 是由 ob_get_status 返回的 flags 位掩码的一部分:
+
+
+
+ PHP_OUTPUT_HANDLER_STARTED
+ (int)
+
+
+
+ 表示输出处理程序已调用。
+
+
+
+
+
+ PHP_OUTPUT_HANDLER_DISABLED
+ (int)
+
+
+
+ 表示输出处理程序已禁用。当输出处理程序返回 &false; 或者处理缓冲区失败时设置此
+ flag,也有一个情况就是在调用输出处理程序之前设置了此 flag。
+
+
+
+
+
+ PHP_OUTPUT_HANDLER_PROCESSED
+ (int)
+
+
+
+ 表示输出处理程序已经成功处理了缓冲区。
+
+
+
+
-
+
ob_clean
- 清空(擦掉)输出缓冲区
+ 清空(擦掉)活动输出缓冲区的内容
@@ -15,16 +15,14 @@
- 此函数用来丢弃输出缓冲区中的内容。
+ 此函数调用输出处理程序(使用 PHP_OUTPUT_HANDLER_CLEAN
+ flag),丢弃返回值并清除(擦除)活动输出区的内容。
- 此函数不会像 ob_end_clean 函数那样销毁输出缓冲区。
+ 此函数不会像 ob_end_clean 或 ob_get_clean 那样关闭输出缓冲区。
- 输出缓冲必须已被
- ob_start 以 PHP_OUTPUT_HANDLER_CLEANABLE
- 标记启动。否则 ob_clean 不会有效果。
+ 如果没有以 PHP_OUTPUT_HANDLER_CLEANABLE flag 启动的活动输出缓冲区,ob_clean 将失败。
@@ -40,16 +38,25 @@
+
+ &reftitle.errors;
+
+ 如果函数失败会生成 E_NOTICE。
+
+
+
&reftitle.seealso;
- ob_flush
- ob_end_flush
+ ob_start
+ ob_get_contents
ob_end_clean
+ ob_get_clean
+ ob_flush
-
+
-
+
ob_end_clean
- 清空(擦除)缓冲区并关闭输出缓冲
+ 清空(擦除)活动缓冲区的内容并关闭它
@@ -14,14 +14,14 @@
- 此函数丢弃最顶层输出缓冲区的内容并关闭这个缓冲区。如果想要进一步处理缓冲区的内容,必须在
- ob_end_clean 之前调用 ob_get_contents,因为当调用
- ob_end_clean 时缓冲区内容将被丢弃。
+ 该函数调用输出处理程序(使用 PHP_OUTPUT_HANDLER_CLEAN 和 PHP_OUTPUT_HANDLER_FINAL
+ flag),丢弃它的返回值,丢弃活动输出缓冲区的内容并关闭活动输出缓冲区。
- 输出缓冲区必须由带有 PHP_OUTPUT_HANDLER_CLEANABLE
- 和 PHP_OUTPUT_HANDLER_REMOVABLE flag
- 的 ob_start 启动。否则 ob_end_clean 将不起作用。
+ 如果没有以 PHP_OUTPUT_HANDLER_REMOVABLE flag 启动的活动输出缓冲区,ob_end_clean 将失败。
+
+
+ ob_end_clean 将丢弃活动输出缓冲区的内容,即使是在没有 PHP_OUTPUT_HANDLER_CLEANABLE flag 的情况下启动的。
@@ -33,21 +33,21 @@
&reftitle.returnvalues;
- &return.success; 错误的原因首先是,在调用时没有一个起作用的缓冲区,或者是因为某些原因缓冲区不能被删除(可能对特殊缓冲区而言)。
+ &return.success;
&reftitle.errors;
- 如果函数失败了,将引发一个E_NOTICE异常。
+ 如果函数失败了,将生成 E_NOTICE 异常。
&reftitle.examples;
- 下面的例子给出了一种去除所有输出缓冲区的方法:
+ 下面的示例展示了去除活动输出缓冲内容的简单方法:
@@ -71,13 +71,14 @@ ob_end_clean();
ob_start
ob_get_contents
- ob_flush
+ ob_clean
+ ob_get_clean
+ ob_end_flush
-
+
-