解析PHP中ob_start()函数的用法


Posted in PHP onJune 24, 2013

ob_start()函数用于打开缓冲区,比如header()函数之前如果就有输出,包括回车/空格/换行/都会有"Header had all ready send by"的错误,这时可以先用ob_start()打开缓冲区PHP代码的数据块和echo()输出都会进入缓冲区而不会立刻输出.当然打开缓冲区的作用很多,只要发挥你的想象.可以总结以下四点:

1.用于header()之前
ob_start(); //打开缓冲区
echo /"Hellon/"; //输出
header("location:index.php"); //把浏览器重定向到index.php
ob_end_flush();//输出全部内容到浏览器
?>

2.phpinfo()函数可获取客户端和服务器端的信息,但要保存客户端信息用缓冲区的方法是最好的选择.
ob_start(); //打开缓冲区
phpinfo(); //使用phpinfo函数
$info=ob_get_contents(); //得到缓冲区的内容并且赋值给$info
$file=fopen(/'info.txt/',/'w/'); //打开文件info.txt
fwrite($file,$info); //写入信息到info.txt
fclose($file); //关闭文件info.txt
?>

3.静态页面技术
ob_start();//打开缓冲区
?>
php页面的全部输出
$content = ob_get_contents();//取得php页面输出的全部内容
$fp = fopen("output00001.html", "w"); //创建一个文件,并打开,准备写入
fwrite($fp, $content); //把php页面的内容全部写入output00001.html,然后……
fclose($fp);
?>

4.输出代码
Function run_code($code) {
If($code) {
ob_start();
eval($code);
$contents = ob_get_contents();
ob_end_clean();
}else {
echo "错误!没有输出";
exit();
}
return $contents;
}

PHP 相关文章推荐
攻克CakePHP系列二 表单数据显示
Oct 22 PHP
PHP显示今天、今月、上月、今年的起点/终点时间戳的代码
May 25 PHP
PHP 清空varnish 缓存的详解(包括指定站点下的)
Jun 20 PHP
PHP计算2点经纬度之间的距离代码
Aug 12 PHP
使用PHP导出Word文档的原理和实例
Oct 21 PHP
php查找任何页面上的所有链接的方法
Dec 03 PHP
一个简单的PHP验证码实现代码
May 10 PHP
基于thinkPHP实现的微信自定义分享功能示例
Sep 23 PHP
PHP实现链式操作的三种方法详解
Nov 16 PHP
对laravel的session获取与存取方法详解
Oct 08 PHP
PHP正则之正向预查与反向预查讲解与实例
Apr 06 PHP
Thinkphp 框架扩展之标签库驱动原理与用法分析
Apr 23 PHP
关于ob_get_contents(),ob_end_clean(),ob_start(),的具体用法详解
Jun 24 #PHP
关于php操作mysql执行数据库查询的一些常用操作汇总
Jun 24 #PHP
解析crontab php自动运行的方法
Jun 24 #PHP
解析关于java,php以及html的所有文件编码与乱码的处理方法汇总
Jun 24 #PHP
使用PHP遍历文件目录与清除目录中文件的实现详解
Jun 24 #PHP
探讨:php中在foreach中使用foreach ($arr as &$value) 这种类型的解释
Jun 24 #PHP
PHP中的函数-- foreach()的用法详解
Jun 24 #PHP
You might like
域名和cookie问题(域名后缀)
2012/10/10 PHP
深入PHP FTP类的详解
2013/06/13 PHP
yii实现使用CUploadedFile上传文件的方法
2015/12/28 PHP
thinkPHP中U方法加密传递参数功能示例
2018/05/29 PHP
会自动逐行上升的文本框
2006/06/30 Javascript
JavaScript监测ActiveX控件是否已经安装过的代码
2008/09/02 Javascript
JS弹出对话框返回值代码(asp.net后台)
2010/12/28 Javascript
五段实用的js高级技巧
2011/12/20 Javascript
Extjs 继承Ext.data.Store不起作用原因分析及解决
2013/04/15 Javascript
JQuery文本改变触发事件如聚焦事件、失焦事件
2014/01/15 Javascript
jquery 显示*天*时*分*秒实现时间计时器
2014/05/07 Javascript
jquery禁止回车触发表单提交
2014/12/12 Javascript
javascript判断数组内是否重复的方法
2015/04/21 Javascript
JavaScript 轮播图和自定义滚动条配合鼠标滚轮分享代码贴
2016/10/28 Javascript
Javascript 制作图形验证码实例详解
2016/12/22 Javascript
关于不同页面之间实现参数传递的几种方式讨论
2017/02/13 Javascript
vue-router判断页面未登录自动跳转到登录页的方法示例
2018/11/04 Javascript
vue实现的下拉框功能示例
2019/01/29 Javascript
jquery实现动态创建form并提交的方法示例
2019/05/27 jQuery
JS实现联想、自动补齐国家或地区名称的功能
2020/07/07 Javascript
vue-preview动态获取图片宽高并增加旋转功能的实现
2020/07/29 Javascript
[01:02:03]2014 DOTA2华西杯精英邀请赛 5 24 NewBee VS VG
2014/05/26 DOTA
用python实现批量重命名文件的代码
2012/05/25 Python
python中学习K-Means和图片压缩
2017/11/20 Python
Python Flask前后端Ajax交互的方法示例
2018/07/31 Python
python numpy元素的区间查找方法
2018/11/14 Python
Python爬虫爬取微博热搜保存为 Markdown 文件的源码
2021/02/22 Python
Russell Stover巧克力官方网站:美国领先的精美巧克力制造商
2016/11/27 全球购物
Invicta手表官方商店:百年制表历史的瑞士腕表品牌
2019/09/26 全球购物
深圳-东方伟业笔试部分
2015/02/11 面试题
医院总经理职责
2013/12/26 职场文书
秋季运动会广播稿(30篇)
2014/09/13 职场文书
2014年工作总结及2015工作计划
2014/12/12 职场文书
领导参观欢迎词
2015/01/26 职场文书
OpenCV-Python实现人脸美白算法的实例
2021/06/11 Python
python数字图像处理:图像的绘制
2022/06/28 Python