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教程 变量定义
Oct 23 PHP
php简单对象与数组的转换函数代码(php多层数组和对象的转换)
May 18 PHP
深入HTTP响应状态码速查表的详解
Jun 07 PHP
php 模拟GMAIL,HOTMAIL(MSN),YAHOO,163,126邮箱登录的详细介绍
Jun 18 PHP
php生成RSS订阅的方法
Feb 13 PHP
Codeigniter通过SimpleXML将xml转换成对象的方法
Mar 19 PHP
详解PHP中websocket的使用方法
Sep 15 PHP
yii2实现分页,带搜索的分页功能示例
Jan 07 PHP
php依赖注入知识点详解
Sep 23 PHP
PHP 面向对象程序设计之类属性与类常量实现方法分析
Apr 13 PHP
PHP7 其他语言层面的修改
Mar 09 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
一个基于phpQuery的php通用采集类分享
2014/04/09 PHP
php连接oracle数据库及查询数据的方法
2014/12/29 PHP
PHP中让curl支持sock5的代码实例
2015/01/21 PHP
PHP7.1新功能之Nullable Type用法分析
2016/09/26 PHP
PHP Trait功能与用法实例分析
2020/06/03 PHP
Javascript面向对象编程(二) 构造函数的继承
2011/08/28 Javascript
jquery实现submit提交表单
2015/02/03 Javascript
浅析Bootstrip的select控件绑定数据的问题
2016/05/10 Javascript
Bootstrap 3的box-sizing样式导致UEditor控件的图片无法正常缩放的解决方案
2016/09/15 Javascript
微信小程序 action-sheet 反馈上拉菜单简单实例
2017/05/11 Javascript
聊聊Vue.js的template编译的问题
2017/10/09 Javascript
浅谈vue的props,data,computed变化对组件更新的影响
2018/01/16 Javascript
Vuex入门到上手教程
2018/06/20 Javascript
vue根据进入的路由进行原路返回的方法
2018/09/26 Javascript
原生js实现html手机端城市列表索引选择城市
2020/06/24 Javascript
Openlayers实现扩散的动态点(水纹效果)
2020/08/17 Javascript
关于javascript中的promise的用法和注意事项(推荐)
2021/01/15 Javascript
python实现rest请求api示例
2014/04/22 Python
Python的Flask框架应用调用Redis队列数据的方法
2016/06/06 Python
浅谈Python数据类型判断及列表脚本操作
2016/11/04 Python
python 处理数字,把大于上限的数字置零实现方法
2019/01/28 Python
python利用wx实现界面按钮和按钮监听和字体改变的方法
2019/07/17 Python
使用Python的networkx绘制精美网络图教程
2019/11/21 Python
python时间与Unix时间戳相互转换方法详解
2020/02/13 Python
python检查目录文件权限并修改目录文件权限的操作
2020/03/11 Python
Django 设置admin后台表和App(应用)为中文名的操作方法
2020/05/10 Python
tensorflow 大于某个值为1,小于为0的实例
2020/06/30 Python
人力资源经理自我评价
2014/01/04 职场文书
公司管理建议书范文
2014/03/12 职场文书
英文推荐信格式范文
2014/05/09 职场文书
2015年党性分析材料
2014/12/19 职场文书
杜甫草堂导游词
2015/02/03 职场文书
幸福终点站观后感
2015/06/04 职场文书
公司规章制度范本
2015/08/03 职场文书
2016小学教师读书心得体会
2016/01/13 职场文书
Spring实现内置监听器
2021/07/09 Java/Android