PHP ob_start() 函数

定义和用法

ob_start() 函数创建一个输出缓冲区。可以传入一个回调函数来处理缓冲区内容,在内容被刷新前对其进行操作。还可以使用标志来允许或限制缓冲区能做什么。

实例

创建输出缓冲区:

<?php
ob_start();
echo "This content will not be sent to the browser.";
ob_end_clean();

echo "This content will be sent to the browser.";
?>

亲自试一试

语法

ob_start(callback, chunk_size, flags);
参数 描述
callback

选修的。用于在缓冲区内容被刷新前处理内容的回调函数。

回调函数应该有以下参数:

参数 描述
buffer 输出缓冲区的内容。
phase

一个位掩码,可能包含以下任何标志:

  • PHP_OUTPUT_HANDLER_START - 如果输出缓冲区刚刚被创建
  • PHP_OUTPUT_HANDLER_FLUSH - 如果当前正在刷新输出缓冲区
  • PHP_OUTPUT_HANDLER_FINAL - 如果输出缓冲区将在此操作后立即被删除
chunk_size 选修的。默认为 0。当设置为大于零的值时,一旦内容长度超过此值,缓冲区将自动刷新。
flags

选修的。默认为 PHP_OUTPUT_HANDLER_STDFLAGS。

一个位掩码,它确定缓冲区被允许执行哪些操作。它可以包含以下标志:

  • PHP_OUTPUT_HANDLER_CLEANABLE - 允许调用 ob_clean()、ob_end_clean() 和 ob_get_clean()。
  • PHP_OUTPUT_HANDLER_FLUSHABLE - 允许调用 ob_flush()、ob_end_flush() 和 ob_get_flush()。
  • PHP_OUTPUT_HANDLER_REMOVABLE - 允许调用 ob_end_clean()、ob_end_flush() 和 ob_get_flush()。
  • PHP_OUTPUT_HANDLER_STDFLAGS - 相当于上述所有标志的组合。
  • PHP_OUTPUT_HANDLER_CLEANABLE|
  • PHP_OUTPUT_HANDLER_FLUSHABLE|
  • PHP_OUTPUT_HANDLER_REMOVABLE

技术细节

返回值: 成功时返回 TRUE,失败时返回 FALSE。
PHP 版本: 4+