关于ob_start();
时间:2011-11-30
来源:互联网
想问一下 ob_start();ob_get_contents();ob_end_clean();
此3个函数 具体有什么用 且什么情况下用这些函数
此3个函数 具体有什么用 且什么情况下用这些函数
作者: ken_chie 发布时间: 2011-11-30
翻版一下03年怪署黍的回答
PHP4 的新函数介绍 - 输出信息控制函数
魔族精灵
这些函数可以让你控制你的脚本输出的内容.可以用于许多不同的情况,特别是在你的脚本已经输出信息后需要发送文件头新的情况. 输出控制函数不对使用 header() 或 setcookie() 发送的文件头信息产生影响,只对那些类似于 echo() 和 PHP 代码的数据块有作用.
例 1. 控制输出
<?php
ob_start();
echo "Hello\n ";
setcookie ( "cookiename ", "cookiedata ");
ob_end_flush();
?>
在上面的例子中,使用 echo() 的输出内容将会保存在输出缓冲区中,直到调用了 ob_end_flush(). 这样做有意义的地方是,调用 setcookie() 的内容被成功的存储在 cookie 里面而不会引起错误. (正常情况下,你不可以在有数据已经发送后再发送文件头信息到用户浏览器.)
相关函数 header() and setcookie().
韩数列表
flush — 刷新输出缓冲区
保存在输出缓冲区的内容会被发送到浏览器
ob_start — 打开输出缓冲区
这样所有的输出信息不在直接发送到浏览器,而是保存在输出缓冲区里面
ob_get_contents — 返回输出缓冲区的内容
如果你想以后处理输出的内容,可以调用这个函数保留一个备份
ob_get_length — 返回输出缓冲区的内容长度
ob_end_flush — 结束(发送)输出缓冲区的内容,关闭输出缓冲区
ob_end_clean — 删除(放弃)输出缓冲区的内容,关闭输出缓冲区
如果你的程序发现输出内容有问题,可以放弃所有输出内容,可以防止泄漏某些秘密信息
ob_implicit_flush — 打开或关闭直接刷新
打开后,每个脚本输出都直接发送到浏览器,不再需要调用 flush(),
PHP4 的新函数介绍 - 输出信息控制函数
魔族精灵
这些函数可以让你控制你的脚本输出的内容.可以用于许多不同的情况,特别是在你的脚本已经输出信息后需要发送文件头新的情况. 输出控制函数不对使用 header() 或 setcookie() 发送的文件头信息产生影响,只对那些类似于 echo() 和 PHP 代码的数据块有作用.
例 1. 控制输出
<?php
ob_start();
echo "Hello\n ";
setcookie ( "cookiename ", "cookiedata ");
ob_end_flush();
?>
在上面的例子中,使用 echo() 的输出内容将会保存在输出缓冲区中,直到调用了 ob_end_flush(). 这样做有意义的地方是,调用 setcookie() 的内容被成功的存储在 cookie 里面而不会引起错误. (正常情况下,你不可以在有数据已经发送后再发送文件头信息到用户浏览器.)
相关函数 header() and setcookie().
韩数列表
flush — 刷新输出缓冲区
保存在输出缓冲区的内容会被发送到浏览器
ob_start — 打开输出缓冲区
这样所有的输出信息不在直接发送到浏览器,而是保存在输出缓冲区里面
ob_get_contents — 返回输出缓冲区的内容
如果你想以后处理输出的内容,可以调用这个函数保留一个备份
ob_get_length — 返回输出缓冲区的内容长度
ob_end_flush — 结束(发送)输出缓冲区的内容,关闭输出缓冲区
ob_end_clean — 删除(放弃)输出缓冲区的内容,关闭输出缓冲区
如果你的程序发现输出内容有问题,可以放弃所有输出内容,可以防止泄漏某些秘密信息
ob_implicit_flush — 打开或关闭直接刷新
打开后,每个脚本输出都直接发送到浏览器,不再需要调用 flush(),
作者: PhpNewnew 发布时间: 2011-11-30
PHP code
ob_start(); // 开启缓冲区,之后的内容直到ob_end_clean(); ob_flush()等函数,不再输出 echo 'hello,world'; $clean_before = ob_get_contents(); // 获取缓冲区现有的内容 echo 'hello,dog'; ob_end_clean(); // 清除缓冲区内容并关闭,后面的代码照旧了 echo 'clean_before is'. $clean_before; // 输出结果: // clean_before is hello,world
作者: dream1206 发布时间: 2011-11-30
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28