PHP执行耗时脚本实时输出内容-php教程

资源魔 29 0
咱们有时分会有这样一个需要,当执行耗时剧本时,会执行完这个剧本才会输入数据,假如不解决完,它会将输入到页面的内容缓存到内存中,等解决完后才执行,这里,咱们需求及时输入。

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 php开发教程 php开发资料 php开发自学

抱歉,评论功能暂时关闭!