关于ob_start(); 想问一下 ob_start();ob_get_contents();ob_end_clean();此3个函数 具体有什么用 且什么情况下用这些函数 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 翻版一下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(), 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 求教word文档格式成网页填写并打印出相同效果的实现 PHP正则Dz7论坛发帖应用(preg_match_all) 怎样对cookie密码进行随机加密 PHP server端多方請求的同步問題 用wamp打开php工程项目无法连接数据库 关于session的超变态也超简单的问题,麻烦高手指教! 怎么重新启动一下mysql的服务啊?(linux下) 试了几次了,一直是这个样子,是我的问题吗? 为什么上传的文件大小为0 thinkphp3.1 文件上传? 关于图片形式的表单上传。 Zend Studio 点哪输入激活码?
魔族精灵
这些函数可以让你控制你的脚本输出的内容.可以用于许多不同的情况,特别是在你的脚本已经输出信息后需要发送文件头新的情况. 输出控制函数不对使用 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(),
$clean_before = ob_get_contents(); // 获取缓冲区现有的内容
echo 'hello,dog';ob_end_clean(); // 清除缓冲区内容并关闭,后面的代码照旧了echo 'clean_before is'. $clean_before;// 输出结果:
// clean_before is hello,world