源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

php使用ob_flush不能每隔一秒输出原理分析

  • 时间:2021-10-31 23:47 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:php使用ob_flush不能每隔一秒输出原理分析
本文实例讲述了php使用ob_flush不能每隔一秒输出原理。分享给大家供大家参考。具体分析如下: [b]实现功能:[/b] 浏览器每隔一秒输出一个数字。 php.ini配置为: 版本5.3 implicit_flush = off output_buffering = off 另:查看output_buffering是否打开,可以:
[u]复制代码[/u] 代码如下:
var_dump(ini_get('output_buffering'));
好我们再来看看这段代码:
<?php
  $i = 3;
  ob_start();
  while ($i--) {
    echo $i, "<br />";
    ob_flush();
    flush();
    sleep(1);
  }
  ob_end_clean();
?>
可为什么:这段代码不能每隔一秒输出呢?? [b]原因分析:[/b] apache运行原理:当你访问一个地址(发送请求)后,apache启动PHP,那么php执行是页面级的,即如果有可执行的代码:它全部执行完后再丢给apache,apache再丢给browser显示结果 [b]如何实现?[/b] 如果是cli 显示结果方式又不一样,那里不一样呢? linux cmd: php5 test.php 由php直接执行,不经过apache,web service,就可以实现:
<?php
  $i = 3;
  while ($i--) {
    echo $i, "\n";
    sleep(1);
  }
  ob_end_clean();
?>
希望本文所述对大家的php程序设计有所帮助。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部