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+mysql 采用ajax技术的 省 市 地 3级联动无刷新菜单 源码
Dec 16 PHP
用sql命令修改数据表中的一个字段为非空(not null)的语句
Jun 04 PHP
php代码书写习惯优化小结
Jun 20 PHP
php计算当前程序执行时间示例
Apr 24 PHP
php结合正则获取字符串中数字
Jun 19 PHP
php视频拍照上传头像功能实现代码分享
Oct 08 PHP
php使用CutyCapt实现网页截图保存的方法
Oct 03 PHP
PHP 用session与gd库实现简单验证码生成与验证的类方法
Nov 15 PHP
浅谈ThinkPHP5.0版本和ThinkPHP3.2版本的区别
Jun 17 PHP
php表单文件iframe异步上传实例讲解
Jul 26 PHP
PHP实现百度人脸识别
May 06 PHP
PHP命名空间用法实例分析
Sep 04 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递归删除目录与文件的方法
2015/01/30 PHP
smarty模板判断数组为空的方法
2015/06/10 PHP
PHP+MySQL之Insert Into数据插入用法分析
2015/09/27 PHP
CI框架常用方法小结
2016/05/17 PHP
Apache PHP MySql安装配置图文教程
2016/08/27 PHP
mysql desc(DESCRIBE)命令实例讲解
2016/09/24 PHP
关于实现代码语法标亮 dp.SyntaxHighlighter
2007/02/02 Javascript
从新浪弄下来的全屏广告代码 与使用说明
2007/03/15 Javascript
JS 文件本身编码转换 图文教程
2009/10/12 Javascript
在子窗口中关闭父窗口的一句代码
2013/10/21 Javascript
jquery实现简单易懂的图片展示小例子
2013/11/21 Javascript
js获取select标签选中值的两种方式
2014/01/09 Javascript
JS给超链接加确认对话框的方法
2015/02/24 Javascript
在Html中使用Requirejs进行模块化开发实例详解
2016/04/15 Javascript
Echarts基本用法_动力节点Java学院整理
2017/08/11 Javascript
JavaScript实现拖拽效果
2020/03/16 Javascript
使用Python设置tmpfs来加速项目的教程
2015/04/17 Python
Python使用dis模块把Python反编译为字节码的用法详解
2016/06/14 Python
Python中使用装饰器来优化尾递归的示例
2016/06/18 Python
python实现逐个读取txt字符并修改
2018/12/24 Python
python GUI编程(Tkinter) 创建子窗口及在窗口上用图片绘图实例
2020/03/04 Python
Keras搭建自编码器操作
2020/07/03 Python
Python常用模块函数代码汇总解析
2020/08/31 Python
html5组织文档结构_动力节点Java学院整理
2017/07/11 HTML / CSS
Html5导航栏吸顶方案原理与对比实现
2020/06/10 HTML / CSS
介绍一下sql server的安全性
2014/08/10 面试题
学习心得体会
2014/01/01 职场文书
审计主管岗位职责
2014/01/31 职场文书
乡镇精神文明建设汇报材料
2014/08/15 职场文书
2014学习优秀共产党员先进事迹思想汇报
2014/09/14 职场文书
计算机专业自荐信范文
2015/03/26 职场文书
2015年秘书个人工作总结
2015/04/25 职场文书
2015年党务工作者个人工作总结
2015/10/22 职场文书
Spring Bean的实例化之属性注入源码剖析过程
2021/06/13 Java/Android
一文弄懂MySQL中redo log与binlog的区别
2022/02/15 MySQL
Python安装使用Scrapy框架
2022/04/12 Python