码迷,mamicode.com
首页 > Web开发 > 详细

PHP如何利用sleep实现 输出->等待->输出

时间:2018-02-04 18:09:54      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:详细   blog   tar   .net   pre   实现   一段   echo   php   

sleep()函数一般用在暂停上,但是一个PHP一旦有了sleep,其他的输出(print,echo)就都要等待sleep()函数的完成,这是因为缓冲区,这里有详细解释

在这里不赘述,而如果要实现先输出再等待再输出,则用到了ob_flush()和flush();

上面链接的文章有这样一段,解释了为什么需要ob_flush()和flush();

在没有开启缓存时,脚本输出的内容都在服务器端处于等待输出的状态 ,flush()可以将等待输出的内容立即发送到客户端。

开启缓存后,脚本输出的内容存入了输出缓存中 ,这时没有处于等待输出状态的内容,你直接使用flush()不会向客户端发出任何内容。而 ob_flush()的作用就是将本来存在输出缓存中的内容取出来,设置为等待输出状态,但不会直接发送到客户端 ,这时你就需要先使用 ob_flush()再使用flush(),客户端才能立即获得脚本的输出。

 

所以代码是这样的

<?php

    echo date(‘h:i:s‘).‘</br>‘;
    ob_flush();
    flush(); 
    sleep(5);
    echo date(‘h:i:s‘);
?>

 

PHP如何利用sleep实现 输出->等待->输出

标签:详细   blog   tar   .net   pre   实现   一段   echo   php   

原文地址:https://www.cnblogs.com/wlgclining/p/8413554.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!