Heim >Backend-Entwicklung >PHP-Tutorial >ob_flush(),flush()使用前面不加ob_start()也可以使用?

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

WBOY
WBOYOriginal
2016-06-06 20:07:551564Durchsuche

在测试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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn