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 相关文章推荐
如何限制访问者的ip(PHPBB的代码)
Oct 09 PHP
PHP strtok()函数的优点分析
Mar 02 PHP
深入PHP curl参数的详解
Jun 17 PHP
PHP中time(),date(),mktime()区别介绍
Sep 28 PHP
Php header()函数语法及使用代码
Nov 04 PHP
php中__destruct与register_shutdown_function执行的先后顺序问题
Oct 17 PHP
php实现将wav文件转换成图像文件并在页面中显示的方法
Apr 21 PHP
Yii2 assets清除缓存的方法
May 16 PHP
PHP机器学习库php-ml的简单测试和使用方法
Jul 14 PHP
PHP实现链式操作的三种方法详解
Nov 16 PHP
laravel框架分组控制器和分组路由实现方法示例
Jan 25 PHP
深入分析PHP设计模式
Jun 15 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来检测proxy
2006/10/09 PHP
屏蔽浏览器缓存另类方法
2006/10/09 PHP
PHP 遍历文件实现代码
2011/05/04 PHP
thinkphp实现数组分页示例
2014/04/13 PHP
Yii框架在页面输出执行sql语句以方便调试的实现方法
2014/12/24 PHP
php简单实现多维数组排序的方法
2016/09/30 PHP
获取div编辑框,textarea,input text的光标位置 兼容IE,FF和Chrome的方法介绍
2012/11/08 Javascript
javascript获取ckeditor编辑器的值(实现代码)
2013/11/18 Javascript
JS实现点击链接取消跳转效果的方法
2014/01/24 Javascript
SWFObject基本用法实例分析
2015/07/20 Javascript
jQuery实现选项联动轮播效果【附实例】
2016/04/19 Javascript
JavaScript中防止微信浏览器被整体拖动的方法
2017/08/25 Javascript
快速将Vue项目升级到webpack3的方法步骤
2017/09/14 Javascript
JS数组实现分类统计实例代码
2018/09/30 Javascript
Node.js的进程管理的深入理解
2019/01/09 Javascript
使用JQuery自动完成插件Auto Complete详解
2019/06/18 jQuery
JS实现音量控制拖动
2020/01/15 Javascript
微信小程序之滑动页面隐藏和显示组件功能的实现代码
2020/06/19 Javascript
Nodejs环境实现socket通信过程解析
2020/07/03 NodeJs
Python常见数据结构详解
2014/07/24 Python
Python中的descriptor描述器简明使用指南
2016/06/02 Python
Python 实现删除某路径下文件及文件夹的实例讲解
2018/04/24 Python
Django实战之用户认证(初始配置)
2018/07/16 Python
Python连接Oracle之环境配置、实例代码及报错解决方法详解
2020/02/11 Python
计算机专业个人简短的自我评价
2013/10/23 职场文书
房产公证书范本
2014/04/10 职场文书
幼儿园大班家长评语
2014/04/17 职场文书
贷款担保书范文
2014/05/13 职场文书
应届大学生求职信
2014/07/20 职场文书
教师政风行风自查自纠报告
2014/10/21 职场文书
2014年移动公司工作总结
2014/12/08 职场文书
2014年法务工作总结
2014/12/11 职场文书
会议通知格式范文
2015/04/15 职场文书
2015年学校安全管理工作总结
2015/05/11 职场文书
MySQL慢查询的坑
2021/04/28 MySQL
详解解Django 多对多表关系的三种创建方式
2021/08/23 Python