Home  >  Article  >  Backend Development  >  ob_flush(),flush()使用前面不加ob_start()也可以使用?

ob_flush(),flush()使用前面不加ob_start()也可以使用?

WBOY
WBOYOriginal
2016-06-06 20:07:551541browse

在测试ob_flush(),flush()的例子中注释ob_start()和开启ob_start()效果是一样的,cli下还是挺一秒陆续打出,这个是调用ob_flush(),flush()默认打开ob_start()吗?

<code><?php //ob_start();
for($j = 1; $j <= 20; $j++) { 
    echo $j; 
    ob_flush();
    flush(); //这一部会使cache新增的内容被挤出去,显示到浏览器上 
    sleep(1); //让程序“睡”一秒钟,会让你把效果看得更清楚 
} 
?></code>

回复内容:

在测试ob_flush(),flush()的例子中注释ob_start()和开启ob_start()效果是一样的,cli下还是挺一秒陆续打出,这个是调用ob_flush(),flush()默认打开ob_start()吗?

<code><?php //ob_start();
for($j = 1; $j <= 20; $j++) { 
    echo $j; 
    ob_flush();
    flush(); //这一部会使cache新增的内容被挤出去,显示到浏览器上 
    sleep(1); //让程序“睡”一秒钟,会让你把效果看得更清楚 
} 
?></code>

找到答案了php://output 是一个只写的数据流, 允许你以 print 和 echo 一样的方式写入到输出缓冲区。类似是ob_start()
参考链接:http://php.net/manual/zh/wrappers.php.php

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn