# 输出缓冲控制

# 简介

输出控制函数能够控制何时从脚本发送输出。对以下几种情况中很有用，尤其是当需要在脚本开始输出数据后将消息头发送到浏览器时。输出控制函数不会影响使用 header() 或 setcookie() 发送的消息头，只会影响 PHP 代码中的函数（比如 echo）和数据。

- 安装/配置
  - 运行时配置
- 预定义常量
- 输出缓冲
- 冲刷系统缓冲区
- 用户级输出缓冲区
  - 什么输出会被缓冲？
  - 嵌套输出缓冲区
  - 缓冲区大小
  - 缓冲区中允许的操作
  - 输出处理程序
  - 使用输出处理程序
  - 传递给输出处理程序的 flag
  - 输出处理程序的返回值
- 示例
  - 基本用法
  - 输出重写用法
- 输出控制 函数
  - flush — 冲刷系统输出缓冲区
  - ob_clean — 清空（擦掉）活动输出缓冲区的内容
  - ob_end_clean — 清空（擦除）活动缓冲区的内容并关闭它
  - ob_end_flush — 冲刷（发送）活动输出处理程序的返回值，并关闭活动输出缓冲区
  - ob_flush — 冲刷（发送）活动输出处理程序的返回值
  - ob_get_clean — 获取活动缓冲区的内容并将其关闭
  - ob_get_contents — 返回输出缓冲区的内容
  - ob_get_flush — 冲刷（发送）活动输出处理程序的返回值，返回活动输出缓冲区的内容并将其关闭
  - ob_get_length — 返回输出缓冲区内容的长度
  - ob_get_level — 返回输出缓冲机制的嵌套级别
  - ob_get_status — 得到所有输出缓冲区的状态
  - ob_implicit_flush — 打开/关闭绝对刷送
  - ob_list_handlers — 列出所有使用的输出处理程序
  - ob_start — 打开输出控制缓冲
  - output_add_rewrite_var — 添加 URL 重写器的值
  - output_reset_rewrite_vars — 重设 URL 重写器的值

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open