旗下导航:搜·么
当前位置:网站首页 > PHP教程 > 正文

PHP怎样实行耗时剧本及时输出内容【php教程】,PHP

作者:搜教程发布时间:2019-12-06分类:PHP教程浏览:38评论:0


导读:我们有时候会有如许一个需求,当实行耗时剧本时,会实行完这个剧本才会输出数据,假如没有处理完,它会将输出到页面的内容缓存到内存中,等处理完后才实行,这里,我们须要及时输出。f...
我们有时候会有如许一个需求,当实行耗时剧本时,会实行完这个剧本才会输出数据,假如没有处理完,它会将输出到页面的内容缓存到内存中,等处理完后才实行,这里,我们须要及时输出。

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网别的相干文章!

标签:PHP


欢迎 发表评论: