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_cleanob_get_clean 的行为。 PHP_OUTPUT_HANDLER_FLUSHABLE - (int) + (int) - 控制 ob_start 创建的输出缓冲是否可以刷新。 + 控制 ob_start 创建的输出缓冲区是否可以由 ob_flush 刷新。这个 flag + 不能控制 ob_end_flushob_get_flush 的行为。 PHP_OUTPUT_HANDLER_REMOVABLE - (int) + (int) - 控制 ob_start 创建的输出缓冲是否可以在脚本结束前移除。 + 控制 ob_start 创建的输出缓冲区是否可以在脚本结束前或者调用 + ob_end_cleanob_end_flushob_get_cleanob_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_cleanob_get_clean 那样关闭输出缓冲区。 - 输出缓冲必须已被 - ob_startPHP_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_CLEANPHP_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 - + -