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 Token(令牌)设计
Mar 15 PHP
PHP 提取图片img标记中的任意属性的简单实例
Dec 10 PHP
php中session过期时间设置及session回收机制介绍
May 05 PHP
使用PHP和HTML5 FormData实现无刷新文件上传教程
Sep 06 PHP
php中实现xml与mysql数据相互转换的方法
Dec 25 PHP
php获取四位字母和数字的随机数的实现方法
Jan 09 PHP
PHP 序列化和反序列化函数实例详解
Jul 18 PHP
php在windows环境下获得cpu内存实时使用率(推荐)
Feb 08 PHP
PHP SESSION机制的理解与实例
Mar 22 PHP
基于Laravel-admin 后台的自定义页面用法详解
Sep 30 PHP
PHP实现基本留言板功能原理与步骤详解
Mar 26 PHP
PHPstorm启用自动换行的方法详解(IDE)
Sep 17 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
网友原创的PHP模板类代码
2008/09/07 PHP
php 数组使用详解 推荐
2011/06/02 PHP
php生成随机颜色方法汇总
2014/12/03 PHP
thinkphp autoload 命名空间自定义 namespace
2015/07/17 PHP
详解Window7 下开发php扩展
2015/12/31 PHP
YII Framework框架教程之安全方案详解
2016/03/14 PHP
PHP实现登陆表单提交CSRF及验证码
2017/01/24 PHP
javascript 检测浏览器类型和版本的代码
2009/09/15 Javascript
CSS和Javascript简单复习资料
2010/06/29 Javascript
基于jquery循环map功能的代码
2011/02/26 Javascript
基于Jquery的将DropDownlist的选中值赋给label的实现代码
2011/05/06 Javascript
JS中对Cookie的操作详解
2016/08/05 Javascript
Bootstrap下拉菜单样式
2017/02/07 Javascript
bootstrap table sum总数量统计实现方法
2017/10/29 Javascript
解决vue项目报错webpackJsonp is not defined问题
2018/03/14 Javascript
vue对storejs获取的数据进行处理时遇到的几种问题小结
2018/03/20 Javascript
vue双向绑定数据限制长度的方法
2019/11/04 Javascript
javascript 数组(list)添加/删除的实现
2020/12/17 Javascript
python操作gmail实例
2015/01/14 Python
Python构造函数及解构函数介绍
2015/02/26 Python
简单谈谈Python中函数的可变参数
2016/09/02 Python
windows下pycharm安装、创建文件、配置默认模板
2018/07/31 Python
python字符串Intern机制详解
2019/07/01 Python
Python自动化测试中yaml文件读取操作
2020/08/20 Python
Scrapy项目实战之爬取某社区用户详情
2020/09/17 Python
html通过canvas转成base64的方法
2019/07/18 HTML / CSS
分别介绍一下Session Bean和Entity Bean
2015/03/13 面试题
25道Java面试题集合
2013/05/21 面试题
列车长先进事迹材料
2014/01/25 职场文书
农贸市场管理制度
2014/01/31 职场文书
六月份红领巾广播稿
2014/02/03 职场文书
《骑牛比赛》教后反思
2014/04/22 职场文书
中秋手机店促销方案
2014/06/16 职场文书
党员十八大心得体会
2014/09/12 职场文书
西安兵马俑导游词
2015/02/02 职场文书
mysql通过group by分组取最大时间对应数据的两种有效方法
2022/09/23 MySQL