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 相关文章推荐
phpMyAdmin 安装配置方法和问题解决
Jun 08 PHP
PHP file_get_contents 函数超时的几种解决方法
Jul 30 PHP
PHP5 的对象赋值机制介绍
Aug 02 PHP
php中删除字符串中最先出现某个字符的实现代码
Feb 03 PHP
php使用socket post数据到其它web服务器的方法
Jun 02 PHP
开启PHP Static 关键字之旅模式
Nov 13 PHP
PHP中header函数的用法及其注意事项详解
Jun 13 PHP
Yii使用DeleteAll连表删除出现报错问题的解决方法
Jul 14 PHP
windows7配置Nginx+php+mysql的详细教程
Sep 04 PHP
php cli模式下获取参数的方法
May 05 PHP
PHP中实现中文字串截取无乱码的解决方法
May 29 PHP
基于Laravel-admin 后台的自定义页面用法详解
Sep 30 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
1.PHP简介
2006/10/09 PHP
一篇不错的PHP基础学习笔记
2007/03/18 PHP
php下实现在指定目录搜索指定类型文件的函数
2008/10/03 PHP
PHP实现算式验证码和汉字验证码实例
2015/03/09 PHP
PHP自动生成表单代码分享
2015/06/19 PHP
ecshop适应在PHP7的修改方法解决报错的实现
2016/11/01 PHP
thinkphp5框架实现数据库读取的数据转换成json格式示例
2019/10/10 PHP
js改变文章字体大小的实例代码
2013/11/27 Javascript
在myeclipse中如何加入jquery代码提示功能
2014/06/03 Javascript
jQuery级联操作绑定事件实例
2014/09/02 Javascript
innerHTML动态添加html代码和脚本兼容多个浏览器
2014/10/11 Javascript
javascript中Date对象的getDay方法使用指南
2014/12/22 Javascript
JS传递对象数组为参数给后端,后端获取的实例代码
2016/06/28 Javascript
javascript中的后退和刷新实现方法
2016/11/10 Javascript
jQuery中$.grep() 过滤函数 数组过滤
2016/11/22 Javascript
js通过Date对象实现倒计时动画效果
2017/10/27 Javascript
基于js中style.width与offsetWidth的区别(详解)
2017/11/12 Javascript
深入浅析JS中的严格模式
2018/06/04 Javascript
jQuery实现购物车的总价计算和总价传值功能
2018/11/28 jQuery
了解在JavaScript中将值转换为字符串的5种方法
2019/06/06 Javascript
详解微信小程序「渲染层网络层错误」的解决方法
2021/01/06 Javascript
[17:36]VG战队纪录片
2014/08/21 DOTA
用Python解决计数原理问题的方法
2016/08/04 Python
Python selenium实现微博自动登录的示例代码
2018/05/16 Python
Django Rest framework认证组件详细用法
2019/07/25 Python
使用虚拟环境打包python为exe 文件的方法
2019/08/29 Python
Html+Css+Jquery实现左侧滑动拉伸导航菜单栏的示例代码
2020/03/17 HTML / CSS
特步官方商城:Xtep
2017/03/21 全球购物
《桂林山水》教学反思
2014/02/08 职场文书
合作经营协议书范本
2014/09/16 职场文书
签订劳动合同通知书
2015/04/16 职场文书
校长一岗双责责任书
2015/05/09 职场文书
教师培训简讯
2015/07/20 职场文书
详解Laravel服务容器的优势
2021/05/29 PHP
vue基于Teleport实现Modal组件
2021/05/31 Vue.js
vue特效之翻牌动画
2022/04/20 Vue.js