php使用ob_flush不能每隔一秒输出原理分析


Posted in PHP onJune 02, 2015

本文实例讲述了php使用ob_flush不能每隔一秒输出原理。分享给大家供大家参考。具体分析如下:

实现功能:

浏览器每隔一秒输出一个数字。

php.ini配置为:

版本5.3

implicit_flush = off
output_buffering = off

另:查看output_buffering是否打开,可以:

var_dump(ini_get('output_buffering'));

好我们再来看看这段代码:

<?php
  $i = 3;
  ob_start();
  while ($i--) {
    echo $i, "<br />";
    ob_flush();
    flush();
    sleep(1);
  }
  ob_end_clean();
?>

可为什么:这段代码不能每隔一秒输出呢??

原因分析:

apache运行原理:当你访问一个地址(发送请求)后,apache启动PHP,那么php执行是页面级的,即如果有可执行的代码:它全部执行完后再丢给apache,apache再丢给browser显示结果

如何实现?

如果是cli 显示结果方式又不一样,那里不一样呢?

linux cmd:

php5 test.php

由php直接执行,不经过apache,web service,就可以实现:

<?php
  $i = 3;
  while ($i--) {
    echo $i, "\n";
    sleep(1);
  }
  ob_end_clean();
?>

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
用PHP函数解决SQL injection
Oct 09 PHP
谈谈PHP语法(3)
Oct 09 PHP
php中计算时间差的几种方法
Dec 31 PHP
PHP笔记之:日期函数的使用介绍
Apr 24 PHP
CodeIgniter上传图片成功的全部过程分享
Aug 12 PHP
PHP删除指定目录中的所有目录及文件的方法
Feb 26 PHP
ThinkPHP3.2.3数据库设置新特性
Mar 05 PHP
php通过ksort()函数给关联数组按照键排序的方法
Mar 18 PHP
php实现统计二进制中1的个数算法示例
Jan 23 PHP
php+ajax实现无刷新文件上传功能(ajaxuploadfile)
Feb 11 PHP
PHP中PDO事务处理操作示例
May 02 PHP
设定php简写功能的方法
Nov 28 PHP
php获取指定范围内最接近数的方法
Jun 02 #PHP
PHP使用递归方式列出当前目录下所有文件的方法
Jun 02 #PHP
php使用socket post数据到其它web服务器的方法
Jun 02 #PHP
php自动给网址加上链接的方法
Jun 02 #PHP
php将字符串随机分割成不同长度数组的方法
Jun 01 #PHP
php正则preg_replace_callback函数用法实例
Jun 01 #PHP
php实现读取和写入tab分割的文件
Jun 01 #PHP
You might like
PHP mb_convert_encoding 获取字符串编码类型实现代码
2009/04/26 PHP
PHP实现的下载远程图片自定义函数分享
2015/01/28 PHP
php基于websocket搭建简易聊天室实践
2016/10/24 PHP
PHP-FPM的配置与优化讲解
2019/03/15 PHP
php的优点总结 php有哪些优点
2019/07/19 PHP
Jquery 获取表单text,areatext,radio,checkbox,select值的代码
2009/11/12 Javascript
JavaScript 输入框内容格式验证代码
2010/02/11 Javascript
jQuery Pagination Ajax分页插件(分页切换时无刷新与延迟)中文翻译版
2013/01/11 Javascript
document.documentElement和document.body区别介绍
2013/09/16 Javascript
Node.js事件驱动
2015/06/18 Javascript
jquery实现简单文字提示效果
2015/12/02 Javascript
jQuery根据name属性进行查找的用法分析
2016/06/23 Javascript
详解Angular开发中的登陆与身份验证
2016/07/27 Javascript
JS控制HTML元素的显示和隐藏的两种方法
2016/09/27 Javascript
vue 兄弟组件的信息传递的方法实例详解
2019/08/30 Javascript
Ant Design Pro 之 ProTable使用操作
2020/10/31 Javascript
[46:48]DOTA2上海特级锦标赛A组小组赛#2 Secret VS CDEC第三局
2016/02/25 DOTA
[07:39]第一届亚洲邀请赛回顾视频
2017/02/14 DOTA
[51:17]VGJ.T vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python重新引入被覆盖的自带function
2014/07/16 Python
在Django的URLconf中进行函数导入的方法
2015/07/18 Python
Python判断文件和字符串编码类型的实例
2017/12/21 Python
Python实现的用户登录系统功能示例
2018/02/05 Python
Python正则匹配判断手机号是否合法的方法
2020/12/09 Python
django如何通过类视图使用装饰器
2019/07/24 Python
Python面向对象之Web静态服务器
2019/09/03 Python
Python 模拟生成动态产生验证码图片的方法
2020/02/01 Python
python中K-means算法基础知识点
2021/01/25 Python
番木瓜健康和保健产品第一大制造商:Herbal Papaya
2017/04/25 全球购物
OSPREY LONDON官网:英国本土皮具品牌
2019/05/31 全球购物
Android interview questions
2016/12/25 面试题
电信营业员自我评价分享
2014/01/17 职场文书
医学求职信
2014/05/28 职场文书
2015年综治宣传月活动总结
2015/03/25 职场文书
2015年电话客服工作总结
2015/05/18 职场文书
南极大冒险观后感
2015/06/05 职场文书