php ob_flush,flush在ie中缓冲无效的解决方法


Posted in PHP onMay 09, 2010

PHP程序的缓冲,而不论PHP执行在何种情况下(CGI ,web服务器等等)。该函数将当前为止程序的所有输出发送到用户的浏览器。
flush() 函数不会对服务器或客户端浏览器的缓存模式产生影响。因此,必须同时使用 ob_flush() 和flush() 函数来刷新输出缓冲。
个别web服务器程序,特别是Win32下的web服务器程序,在发送结果到浏览器之前,仍然会缓存脚本的输出,直到程序结束为止
自己写了个小例子,想在页面每隔一秒输出一个数字。

按照网上的代码:

ob_end_clean(); 
for ($i=10; $i>0; $i--) 
{ 
echo $i; 
flush(); 
sleep(1); 
}

或者:

for ($i=10; $i>0; $i--) 
{ 
echo $i; 
ob_flush(); 
flush(); 
sleep(1); 
}

我发现在火狐里面生效,但在IE里不起作用,每次都是10个数字一起输出,这说明缓冲没有生效。

我又开始调整php.ini里面的output_buffering的设置,重启apache,依旧无效。

然后我看到了一段话:

一些版本的 Microsoft Internet Explorer 只有当接受到的256个字节以后才开始显示该页面,所以必须发送一些额外的空格来让这些浏览器显示页面内容。

罪恶的IE浏览器,问题就是TMD的多!

然后我修改了下程序,便正常了:

echo str_pad('',4096); 
for ($i = 0; $i < 10; $i++) { 
echo $i; 
ob_flush(); 
flush(); 
sleep(1); 
}

//ob_end_flush();//IE8下没起作用 
echo str_pad(" ", 256);//IE需要接受到256个字节之后才开始显示 for($i=0;$i<18;$i++) { 
echo $i; 
flush(); 
sleep(1); 
}
PHP 相关文章推荐
PHP函数utf8转gb2312编码
Dec 21 PHP
PHP 服务器配置(使用Apache及IIS两种方法)
Jun 01 PHP
PHP无敌近乎加密方式!
Jul 17 PHP
php学习笔记之 函数声明(二)
Jun 09 PHP
PHP CURL模拟登录新浪微博抓取页面内容 基于EaglePHP框架开发
Jan 16 PHP
PHP生成唯一的促销/优惠/折扣码(附源码)
Dec 28 PHP
PHP实现在线阅读PDF文件的方法
Jun 17 PHP
PHP开发Apache服务器配置
Jul 15 PHP
php实现登录tplink WR882N获取IP和重启的方法
Jul 20 PHP
php多文件打包下载的实例代码
Jul 12 PHP
[原创]PHP global全局变量经典应用与注意事项分析【附$GLOBALS用法对比】
Jul 12 PHP
Laravel 实现添加多语言提示信息
Oct 25 PHP
php 各种应用乱码问题的解决方法
May 09 #PHP
php 输出双引号&quot;与单引号'的方法
May 09 #PHP
php for 循环语句使用方法详细说明
May 09 #PHP
php 函数使用方法与函数定义方法
May 09 #PHP
php 获取select下拉列表框的值
May 08 #PHP
PHP foreach循环使用详解与实例代码
May 08 #PHP
php 在文件指定行插入数据的代码
May 08 #PHP
You might like
用文本文件制作留言板提示(上)
2006/10/09 PHP
常用表单验证类,有了这个,一般的验证就都齐了。
2006/12/06 PHP
php策略模式简单示例分析【区别于工厂模式】
2019/09/25 PHP
Jquey拖拽控件Draggable使用方法(asp.net环境)
2010/09/28 Javascript
JavaScript实现大数的运算
2014/11/24 Javascript
在javascript中随机数 math random如何生成指定范围数值的随机数
2015/10/21 Javascript
jquery实现的伪分页效果代码
2015/10/29 Javascript
浅析如何利用angular结合translate为项目实现国际化
2016/12/08 Javascript
纯jQuery实现前端分页功能
2017/03/23 jQuery
Bootstrap多级菜单的实现代码
2017/05/23 Javascript
jQuery实现动态给table赋值的方法示例
2017/07/04 jQuery
es6学习之解构时应该注意的点
2017/08/29 Javascript
vue-cli+axios实现文件上传下载功能(下载接收后台返回文件流)
2019/05/10 Javascript
BootstrapValidator验证用户名已存在(ajax)
2019/11/08 Javascript
Python中动态获取对象的属性和方法的教程
2015/04/09 Python
python3.5 + PyQt5 +Eric6 实现的一个计算器代码
2017/03/11 Python
利用Python找出序列中出现最多的元素示例代码
2017/12/08 Python
django如何连接已存在数据的数据库
2018/08/14 Python
对Python生成汉字字库文字,以及转换为文字图片的实例详解
2019/01/29 Python
PyQt5基本控件使用详解:单选按钮、复选框、下拉框
2019/08/05 Python
Python安装tar.gz格式文件方法详解
2020/01/19 Python
检测tensorflow是否使用gpu进行计算的方式
2020/02/03 Python
Python使用jupyter notebook查看ipynb文件过程解析
2020/06/02 Python
布局和排版教程 纯css3实现图片三角形排列
2014/10/17 HTML / CSS
VIVOBAREFOOT赤脚鞋:让您的脚做自然的事情
2017/06/01 全球购物
英国家用电器购物网站:Hughes
2018/02/23 全球购物
八年级美术教学反思
2014/02/02 职场文书
给公司的建议书范文
2014/05/13 职场文书
商场租赁意向书
2014/07/30 职场文书
水利专业大学生职业生涯规划书范文
2014/09/17 职场文书
党员群众路线整改措施及今后努力方向
2014/10/28 职场文书
2014年库房工作总结
2014/11/26 职场文书
三好学生主要事迹材料
2015/11/03 职场文书
解析:创业计划书和商业计划书二者之间到底有什么区别
2019/08/14 职场文书
Python批量将csv文件转化成xml文件的实例
2021/05/10 Python
面试必问:圣杯布局和双飞翼布局的区别
2021/05/13 HTML / CSS