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 中英文混合排版中处理字符串常用的函数
Apr 12 PHP
C/S和B/S两种架构区别与优缺点分析
Oct 23 PHP
PHP图片加水印实现方法
May 06 PHP
PHP获取当前文件的父目录方法汇总
Jul 21 PHP
php 自定义错误日志实例详解
Nov 12 PHP
php安装扩展mysqli的实现步骤及报错解决办法
Sep 23 PHP
PHPExcel实现表格导出功能示例【带有多个工作sheet】
Jun 13 PHP
php使用curl获取header检测开启GZip压缩的方法
Aug 15 PHP
浅析php如何实现爬取数据原理
Sep 27 PHP
PHP 超级全局变量相关总结
Jun 30 PHP
php在linux环境中如何使用redis详解
Dec 15 PHP
php TP5框架生成二维码链接
Apr 01 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
关于文本留言本的分页代码
2006/10/09 PHP
PHP编程之高级技巧——利用Mysql函数
2006/10/09 PHP
phpmyadmin打开很慢的解决方法
2014/04/21 PHP
php获取网页中图片、DIV内容的简单方法
2014/06/19 PHP
php实现汉字验证码和算式验证码的方法
2015/03/07 PHP
php中 $$str 中 &quot;$$&quot; 的详解
2015/07/06 PHP
PHP自带方法验证邮箱是否存在
2016/02/01 PHP
PHP children()函数讲解
2019/02/03 PHP
NodeJS 模块开发及发布详解分享
2012/03/07 NodeJs
JavaScript中将一个值转换为字符串的方法分析[译]
2012/09/21 Javascript
JavaScript闭包函数访问外部变量的方法
2014/08/27 Javascript
js使用for循环及if语句判断多个一样的name
2014/09/09 Javascript
28个常用JavaScript方法集锦
2015/01/14 Javascript
详解JavaScript节流函数中的Throttle
2016/07/16 Javascript
Vue.js快速入门教程
2016/09/07 Javascript
Angularjs 实现移动端在线测评效果(推荐)
2017/04/05 Javascript
微信小程序实现action-sheet弹出底部菜单功能【附源码下载】
2017/12/09 Javascript
详解nodejs解压版安装和配置(带有搭建前端项目脚手架)
2018/12/06 NodeJs
js实现简单掷骰子小游戏
2019/10/24 Javascript
p5.js绘制创意自画像
2019/11/04 Javascript
使用webpack/gulp构建TypeScript项目的方法示例
2019/12/18 Javascript
[01:27]2014DOTA2展望TI 剑指西雅图IG战队专访
2014/06/30 DOTA
在Python中编写数据库模块的教程
2015/04/29 Python
python:print格式化输出到文件的实例
2018/05/14 Python
python协程之动态添加任务的方法
2019/02/19 Python
pandas DataFrame索引行列的实现
2019/06/04 Python
python3+selenium获取页面加载的所有静态资源文件链接操作
2020/05/04 Python
写出一个方法实现冒泡排序
2016/07/08 面试题
党的群众路线领导班子整改方案
2014/09/27 职场文书
2015年度护士个人工作总结
2015/04/09 职场文书
统计员岗位职责范本
2015/04/14 职场文书
小学六年级毕业感言
2015/07/30 职场文书
基于go interface{}==nil 的几种坑及原理分析
2021/04/24 Golang
Java中多线程下载图片并压缩能提高效率吗
2021/07/01 Java/Android
SpringBoot 集成短信和邮件 以阿里云短信服务为例
2022/04/22 Java/Android
mysql 索引的数据结构为什么要采用B+树
2022/04/26 MySQL