Maison >développement back-end >tutoriel php >教你如何正确运用PHP函数flush()_PHP教程
对于刚刚学习
1、Flush:刷新缓冲区的内容,输出。
函数格式:flush()
这个函数在PHP3中就出现了,是一个效率很高的函数,他有一个非常有用的功能就是刷新browser的cache.我们举一个运行效果非常明显的例子来说明PHP函数flush().
Example 2.
<ol class="dp-xml"> <li class="alt"><span><span class="tag"><span> ?php </span></span></span></li> <li> <span>for($</span><span class="attribute">i</span><span> = </span><span class="attribute-value">1</span><span>; $i </span><span class="tag"><span>= 300; $i++ ) print(“ “); </span></span> </li> <li class="alt"><span>// 这一句话非常关键,cache的结构<br>使得它的内容只有达到一定的大小才能从浏览器里输出 </span></li> <li><span>// 换言之,如果cache的内容不达到<br>一定的大小,它是不会在程序执行完毕前输出的。经 </span></li> <li class="alt"><span>// 过测试,我发现这个大小的底限是<br>256个字符长。这意味着cache以后接收的内容都会 </span></li> <li><span>// 源源不断的被发送出去。 </span></li> <li class="alt"> <span>For($</span><span class="attribute">j</span><span> = </span><span class="attribute-value">1</span><span>; $j </span><span class="tag"><span>= 20; $j++) { </span></span> </li> <li><span>echo $j.” </span></li> <li class="alt"><span>”; </span></li> <li><span>flush(); //这一部会使cache新增的内容<br>被挤出去,显示到浏览器上 </span></li> <li class="alt"><span>sleep(1); //让程序“睡”一秒钟,会让<br>你把效果看得更清楚 </span></li> <li><span>} </span></li> <li class="alt"> <span class="tag">?></span><span> </span> </li> </ol>
PHP2000的最新的PHP聊天室就是用的这个技术,可惜的是源代码未公开。注:如果在程序的首部加入ob_implicit_flush()打开绝对刷新,就可以在程序中不再使用PHP函数flush(),这样做的好处是:提高效率!