flush — 革新输出缓冲
革新PHP顺序的缓冲,而不管PHP实行在何种情况下(CGI ,web服务器等等)。该函数将当前为止顺序的一切输出发送到用户的浏览器。
flush() 函数不会对服务器或客户端浏览器的缓存形式发生影响。因而,必需同时运用 ob_flush() 和 flush() 函数来革新输出缓冲。
一般web服务器顺序,特别是Win32下的web服务器顺序,在发送效果到浏览器之前,仍然会缓存剧本的输出,直到顺序完毕为止。
有些Apache的模块,比方mod_gzip,大概本身举行输出缓存,这将致使flush()函数发生的效果不会马上被发送到客户端浏览器。
以至浏览器也会在显现之前,缓存接收到的内容。比方 Netscape 浏览器会在接受到换行或 html 标记的开头之前缓存内容,并且在接受到 </table> 标记之前,不会显现出全部表格。
一些版本的 Microsoft Internet Explorer 只有当接受到的256个字节今后才入手下手显现该页面,所以必需发送一些分外的空格来让这些浏览器显现页面内容。
假如须要及时输出,则须要两个中心函数ob_flush, flush;
<?php // echo phpinfo(); if (ob_get_level() == 0) ob_start(); for ($i = 0; $i<10; $i++){ echo "<br> Line to show."; echo str_pad('',4096)."\n"; ob_flush(); flush(); sleep(2); } echo "Done."; ob_end_flush();
更多PHP相干学问,请接见PHP教程!
以上就是PHP怎样实行耗时剧本及时输出内容的细致内容,更多请关注ki4网别的相干文章!