php输出缓冲控制

伊谢尔伦
发布: 2016-11-22 09:51:27
原创
1055 人浏览过

简介

当PHP脚本有输出时,输出控制函数可以用这些来控制输出。这在多种不同情况中非常有用,尤其是用来在脚本开始输出 数据后,发送http头信息到浏览器。输出控制函数不影响由 header() 或 setcookie()发送的文件头信息,仅影响像 echo这样的函数和PHP代码块间的数据。

注意:

由于早先的版本的缺陷,当从PHP4.1.x(4.2.x,4.3.x)升级时,必须保证php.ini中的implicit_flush 是 OFF, 否则任何用 ob_start()的输出将在输出中隐藏掉。

基本用法

<?php
    ob_start();
    echo "Hello\n";
    setcookie("cookiename", "cookiedata");
    ob_end_flush();
?>
登录后复制

在上面的例子中, echo函数的输出将一直被保存在输出缓冲区中直到调用 ob_end_flush() 。同时,对 setcookie()的调用也成功存储了一个cookie,而不会引起错误。(正常情况下,在数据被发送到浏览器后,就不能再发送http头信息了。)

输出控制函数

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_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)


相关标签:
php
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!