php中flush()、ob_flush()、ob_end_flush()的区别介绍


Posted in PHP onFebruary 17, 2013

flush()、ob_flush()、ob_end_flush()三者的区别:

首先,说下buffer,它是一个内存地址空间,为4096(1kb)【在php.ini配置文件中找到output_buffering配 置】,php有php output_buffering机制,php代码在执行的时候,并不是立即将内容输出,而是想将echo/print内容输出到buffer,buffer满的时候才会将数据交给系统内核交由tcp传给浏览器显示,当开启php php output_buffering机制(默认是开启的,可以通过ob_start()函数开启)后,只有当php buffer中的数据达到了设置值,才会将buffer中 的数据发送给浏览器。

但是浏览器也是有缓存的,一些版本的浏览当数据达到256字节的时候才输出内容,flush()可以将等待输出的内容立即发送到客户端,而ob_flush()只有等待到buffer满的时候才输出。

这里为大家举一个简单的例子,作为验证:

<?php
//防止浏览器的缓存
echo str_repeat(" ",1024);
for($i=0;$i<5;$i++){
 echo $i;
 sleep(1);
 flush();//会每隔1s输出一个数字,如果使用ob_flush()则会等待5s一起输出
}
?>
PHP 相关文章推荐
PHP文本操作类
Nov 25 PHP
DOM XPATH获取img src值的query
Sep 23 PHP
PHP文件上传主要代码讲解
Sep 30 PHP
thinkphp在模型中自动完成session赋值示例代码
Sep 09 PHP
2014最热门的24个php类库汇总
Dec 18 PHP
Yii2增加验证码步骤详解
Apr 25 PHP
详谈PHP中的密码安全性Password Hashing
Feb 04 PHP
PHP 实现公历日期与农历日期的互转换
Sep 13 PHP
PHP观察者模式示例【Laravel框架中有用到】
Jun 15 PHP
PHP实现会员账号单唯一登录的方法分析
Mar 07 PHP
Yii框架响应组件用法实例分析
Sep 04 PHP
分享8个Laravel模型时间戳使用技巧小结
Feb 12 PHP
php去除换行符的方法小结(PHP_EOL变量的使用)
Feb 16 #PHP
PHP 获取文件路径(灵活应用__FILE__)
Feb 15 #PHP
php设计模式小结
Feb 15 #PHP
php安全开发 添加随机字符串验证,防止伪造跨站请求
Feb 14 #PHP
PHP下使用CURL方式POST数据至API接口的代码
Feb 14 #PHP
PHP中通过HTTP_USER_AGENT判断是否为手机移动终端的函数代码
Feb 14 #PHP
PHP-redis中文文档介绍
Feb 07 #PHP
You might like
dedecms模板标签代码官方参考
2007/03/17 PHP
table标签的结构与合并单元格的实现方法
2013/07/24 PHP
IIS6.0中配置php服务全过程解析
2013/08/07 PHP
Codeigniter框架的更新事务(transaction)BUG及解决方法
2014/07/25 PHP
Thinkphp5.0框架视图view的模板布局用法分析
2019/10/12 PHP
TNC vs IO BO3 第二场2.13
2021/03/10 DOTA
Ext javascript建立超链接,进行事件处理的实现方法
2009/03/22 Javascript
jQuery删除节点的三个方法即remove()detach()和empty()
2013/12/27 Javascript
ZeroClipboard插件实现多浏览器复制功能(支持firefox、chrome、ie6)
2014/08/30 Javascript
js实现简单的可切换选项卡效果
2015/04/10 Javascript
实例代码详解jquery.slides.js
2015/11/16 Javascript
JavaScript+html5 canvas制作的圆中圆效果实例
2016/01/27 Javascript
js中window.open的参数及注意注意事项
2016/07/06 Javascript
Vue数据驱动模拟实现1
2017/01/11 Javascript
JS闭包可被利用的常见场景小结
2017/04/09 Javascript
JavaScript实现二维坐标点排序效果
2017/07/18 Javascript
angular1配合gulp和bower的使用教程
2018/01/19 Javascript
vue路由拦截器和请求拦截器知识点总结
2019/11/08 Javascript
深入理解 ES6中的 Reflect用法
2020/07/18 Javascript
python+django快速实现文件上传
2016/10/24 Python
Python列表list操作符实例分析【标准类型操作符、切片、连接字符、列表解析、重复操作等】
2017/07/24 Python
Python cookbook(数据结构与算法)实现查找两个字典相同点的方法
2018/02/18 Python
Pyspider中给爬虫伪造随机请求头的实例
2018/05/07 Python
Python人工智能之路 之PyAudio 实现录音 自动化交互实现问答
2019/08/13 Python
关于Python3 类方法、静态方法新解
2019/08/30 Python
Django将默认的SQLite更换为MySQL的实现
2019/11/18 Python
python实现快递价格查询系统
2020/03/03 Python
Python HTMLTestRunner如何下载生成报告
2020/09/04 Python
一道SQL面试题
2012/12/31 面试题
班组安全员工作职责
2014/02/01 职场文书
高中毕业自我评价
2014/02/08 职场文书
售后服务承诺书怎么写
2014/05/21 职场文书
查摆问题对照检查材料
2014/08/28 职场文书
借名购房协议书范本
2014/10/06 职场文书
党员作风建设整改方案
2014/10/27 职场文书
群众路线自我剖析及整改措施
2014/11/04 职场文书