文章归档友情连接

PHP输出控制

分类:PHP编程  作者:rming  时间:2015-01-11

        当PHP脚本有输出时,输出控制函数可以用这些来控制输出。这在多种不同情况中非常有用,尤其是用来在脚本开始输出 数据后,发送http头信息到浏览器。

        输出控制函数不影响由 header() 或 setcookie()发送的文件头信息,仅影响象 echo这样的函数和PHP代码块间的数据。

        PHP输出控制扩展为PHP核心的一部分,不需要额外的安装,但是在php.ini中有一些参数来配置它,当然也可以在运行时通过ini_set()来实现运行时控制。

输出控制配置选项

  • output_buffering 默认0,可以通过设置数值来打开输出缓冲区 并 限制缓冲区大小。
  • output_handler,默认NULL,该选项可将脚本所有的输出,重定向到一个函数
  • implicit_flush,默认0,默认为 FALSE。如将该选项改为 TRUE,PHP 将使输出层,在每段信息块输出后,自动刷新。这等同于在每次使用 print、echo 等函数或每个 HTML 块之后,调用 PHP 中的 flush() 函数。

Output Control 函数

  • 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_gzhandler — 在ob_start中使用的用来压缩输出缓冲区中内容的回调函数。ob_start callback function to gzip output buffer
  • ob_implicit_flush — 打开/关闭绝对刷送
  • ob_list_handlers — 列出所有使用中的输出处理程序。
  • ob_start — 打开输出控制缓冲
  • output_add_rewrite_var — 添加URL重写器的值(Add URL rewriter values)
  • output_reset_rewrite_vars — 重设URL重写器的值(Reset URL rewriter values)

举个栗子

ob_start();
echo 'aaa';
$string = ob_get_contents();
file_put_contents('a.html', $string);
ob_flush();
flush();


提交评论