• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

关于ob_start();该怎么解决

php 搞代码 4年前 (2022-01-24) 20次浏览 已收录 0个评论

关于ob_start();
想问一下 ob_start();ob_get_contents();ob_end_clean();
此3个函数 具体有什么用 且什么情况下用这些函数

——解决方案——————–
翻版一下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 里面而不会引起错误. (正常

+本文来源gao!%daima.com搞$代*!码9网(

搞gaodaima代码情况下,你不可以在有数据已经发送后再发送文件头信息到用户浏览器.)

相关函数 header() and setcookie().

韩数列表
flush — 刷新输出缓冲区
保存在输出缓冲区的内容会被发送到浏览器

ob_start — 打开输出缓冲区
这样所有的输出信息不在直接发送到浏览器,而是保存在输出缓冲区里面

ob_get_contents — 返回输出缓冲区的内容
如果你想以后处理输出的内容,可以调用这个函数保留一个备份

ob_get_length — 返回输出缓冲区的内容长度

ob_end_flush — 结束(发送)输出缓冲区的内容,关闭输出缓冲区

ob_end_clean — 删除(放弃)输出缓冲区的内容,关闭输出缓冲区
如果你的程序发现输出内容有问题,可以放弃所有输出内容,可以防止泄漏某些秘密信息

ob_implicit_flush — 打开或关闭直接刷新
打开后,每个脚本输出都直接发送到浏览器,不再需要调用 flush(),


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:关于ob_start();该怎么解决

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址