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+DBM的同学录程序(3)
Oct 09 PHP
基于mysql的bbs设计(五)
Oct 09 PHP
PHP 循环列出目录内容的函数代码
May 26 PHP
ThinkPHP采用模块和操作分析
Apr 18 PHP
php中经典方法实现判断多维数组是否为空
Oct 23 PHP
PHP中的命名空间详细介绍
Jul 02 PHP
PHP读书笔记_运算符详解
Jul 01 PHP
PHP符合PSR编程规范的实例分享
Dec 21 PHP
PHP正则验证字符串是否为数字的两种方法并附常用正则
Feb 27 PHP
PHP实现发送微博消息功能完整示例
Dec 04 PHP
PHP实现简易用户登录系统
Jul 10 PHP
PHP高并发和大流量解决方案整理
Mar 09 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
ThinkPHP3.1基础知识快速入门
2014/06/19 PHP
PHP超全局数组(Superglobals)介绍
2015/07/01 PHP
PHP getNamespaces()函数讲解
2019/02/03 PHP
浅谈PHP array_search 和 in_array 函数效率问题
2019/10/15 PHP
jquery Mobile入门—多页面切换示例学习
2013/01/08 Javascript
jquery.blockUI.js上传滚动等待效果实现思路及代码
2013/03/18 Javascript
js中window.open打开一个新的页面
2014/08/10 Javascript
Javascript中arguments用法实例分析
2015/06/13 Javascript
使用JQuery 加载页面时调用JS的实现方法
2016/05/30 Javascript
javascript解决小数的加减乘除精度丢失的方案
2016/05/31 Javascript
bootstrap中的 form表单属性role=&quot;form&quot;的作用详解
2017/01/20 Javascript
微信小程序 Toast自定义实例详解
2017/01/20 Javascript
详解webpack 配合babel 将es6转成es5 超简单实例
2017/05/02 Javascript
webpack构建的详细流程探底
2018/01/08 Javascript
基于Vue渲染与插件的加载顺序的问题详解
2018/03/05 Javascript
[03:49]辉夜杯现场龙骑士COSER秀情商“我喜欢芬队!”
2015/12/27 DOTA
python回溯法实现数组全排列输出实例分析
2015/03/17 Python
Python二分法搜索算法实例分析
2015/05/11 Python
Python时间戳使用和相互转换详解
2017/12/11 Python
Anaconda入门使用总结
2018/04/05 Python
对python3 一组数值的归一化处理方法详解
2018/07/11 Python
使用 Python 实现简单的 switch/case 语句的方法
2018/09/17 Python
Python udp网络程序实现发送、接收数据功能示例
2019/12/09 Python
python GUI库图形界面开发之PyQt5中QWebEngineView内嵌网页与Python的数据交互传参详细方法实例
2020/02/26 Python
jupyter notebook 添加kernel permission denied的操作
2020/04/21 Python
基于python代码批量处理图片resize
2020/06/04 Python
解决virtualenv -p python3 venv报错的问题
2021/02/05 Python
使用phonegap创建联系人的实现方法
2017/03/30 HTML / CSS
Speedo速比涛中国官方网站:全球领先泳装运动品牌
2018/04/24 全球购物
澳大利亚巧克力花束和礼品网站:Tastebuds
2019/03/15 全球购物
毕业实习个人鉴定范文
2013/12/10 职场文书
爱岗敬业演讲稿
2014/05/05 职场文书
品质口号大全
2014/06/17 职场文书
2014乡镇干部对照检查材料思想汇报
2014/09/26 职场文书
公司清洁工岗位职责
2015/04/15 职场文书
检讨书之工作不认真
2019/08/14 职场文书