Kav*_*gan 11 php buffer google-chrome flush
我偶然发现了这个功能,它承诺可以在IE,FF和Chrome上运行.但它在Chrome中不起作用.有工作吗?
function buffer_flush(){
echo str_pad('', 512);
echo '<!-- -->';
if(ob_get_length()){
@ob_flush();
@flush();
@ob_end_flush();
}
@ob_start();
}
Run Code Online (Sandbox Code Playgroud)
以下是我在Chrome 12.0.742.122中使用PHP 5.3.6在while循环中使用flush()的方法:
echo("<html><body>");
while(1) {
echo(str_pad($my_string_var,2048," "));
@ob_flush();
flush();
}
Run Code Online (Sandbox Code Playgroud)
使用较小的str_pad值也可以工作,但第一个输出显示需要更长的时间.如果缺少任何其他行,则不会出现任何内容.
"@"并不是绝对必要的,但它可以防止日志填满"缓冲区中没有任何内容"的注意事项.
当然,如果您有一个预先存在的页面,只需确保<html>
和<body>
标签在那里; 我是从头开始写一个页面的.
使用flush()
/ob_flush()
你只将输出发送到浏览器,但它仍然取决于浏览器何时显示它。我认为,chrome 只是等待,直到收到足够的数据来显示“有用”页面,而不是一些片段。
无论如何,一些建议:
@
(特别是如果您不确切知道它的作用)如果您不打电话ob_end_*()
,则无需ob_start()
再打电话。其效率低下
function buffer_flush(){
echo '<!-- -->'; // ?
ob_flush();
flush();
}
Run Code Online (Sandbox Code Playgroud) 归档时间: |
|
查看次数: |
12951 次 |
最近记录: |