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 相关文章推荐
复杂检索数据并分页显示的处理方法
Oct 09 PHP
php 接口类与抽象类的实际作用
Nov 26 PHP
非常好用的两个PHP函数 serialize()和unserialize()
Feb 04 PHP
让PHP显示Facebook的粉丝数量方法
Jan 08 PHP
xss防御之php利用httponly防xss攻击
Mar 21 PHP
php实现简易聊天室应用代码
Sep 23 PHP
php实现的debug log日志操作类实例
Jul 12 PHP
php事件驱动化设计详解
Nov 10 PHP
PHP 计算两个特别大的整数实例代码
May 07 PHP
PHP按一定比例压缩图片的方法
Oct 12 PHP
Laravel 微信小程序后端实现用户登录的示例代码
Nov 26 PHP
phpquery中文手册
Mar 18 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
phpmyadmin里面导入sql语句格式的大量数据的方法
2010/06/05 PHP
PHP简洁函数小结
2011/08/12 PHP
JS中encodeURIComponent函数用php解码的代码
2012/03/01 PHP
php实现信用卡校验位算法THE LUHN MOD-10示例
2014/05/07 PHP
详细解读php的命名空间(一)
2018/02/21 PHP
用js 让图片在 div或dl里 居中,底部对齐
2008/01/21 Javascript
根据鼠标的位置动态的控制层的位置
2009/11/24 Javascript
Js 回车换行处理的办法及replace方法应用
2013/01/24 Javascript
js解析xml字符串和xml文档实现原理及代码(针对ie与火狐)
2013/02/02 Javascript
简单易用的倒计时js代码
2014/08/04 Javascript
JavaScript语言对Unicode字符集的支持详解
2014/12/30 Javascript
JQuery validate插件Remote用法大全
2016/05/15 Javascript
Vue.js每天必学之数据双向绑定
2016/09/05 Javascript
JS制作图形验证码实现代码
2020/10/19 Javascript
jQuery实现圣诞节礼物动画案例解析
2016/12/25 Javascript
微信小程序如何调用json数据接口并解析
2019/06/29 Javascript
vue滚动tab跟随切换效果
2020/06/29 Javascript
Vue中使用matomo进行访问流量统计的实现
2019/11/05 Javascript
如何基于javascript实现贪吃蛇游戏
2020/02/09 Javascript
es6函数之严格模式用法实例分析
2020/03/17 Javascript
js抽奖转盘实现方法分析
2020/05/16 Javascript
vue 解决IOS10低版本白屏的问题
2020/11/17 Javascript
JavaScript实现点击切换验证码及校验
2021/01/10 Javascript
[58:57]2018DOTA2亚洲邀请赛3月29日小组赛B组 Effect VS VGJ.T
2018/03/30 DOTA
python如何实现异步调用函数执行
2019/07/08 Python
tensorflow入门:tfrecord 和tf.data.TFRecordDataset的使用
2020/01/20 Python
python 一维二维插值实例
2020/04/22 Python
Django之富文本(获取内容,设置内容方式)
2020/05/21 Python
Python爬虫实现百度翻译功能过程详解
2020/05/29 Python
css3 利用transform打造走动的2D时钟
2020/10/20 HTML / CSS
英国时尚首饰品牌:Missoma
2020/06/29 全球购物
医院后勤自我鉴定
2013/10/13 职场文书
国庆节促销广告语2014
2014/09/19 职场文书
就业推荐表院系意见
2015/06/05 职场文书
pycharm安装深度学习pytorch的d2l包失败问题解决
2022/03/25 Python
分享一个vue实现的记事本功能案例
2022/04/11 Vue.js