在脚本运行时,如何逐步回显对用户的响应?

2 php

我有一个导入,每次项目成功导入数据库时​​都需要通知用户.有没有办法循环,执行一些功能,提供输出消息,然后使用相同的操作再次循环?

Joh*_*ica 7

您可以使用该flush()函数在PHP脚本完成之前将输出发送给用户.

flush - 刷新输出缓冲区

刷新PHP的输出缓冲区以及PHP正在使用的任何后端(CGI,Web服务器等).这有效地尝试将所有输出推送到用户的浏览器.

flush()对您的Web服务器或客户端浏览器的缓冲方案没有影响.因此,您需要调用两个ob_flush()flush()刷新输出缓冲区.

多个服务器,尤其是Win32上的服务器,仍将缓冲脚本的输出,直到它终止,然后再将结果传输到浏览器.

Apache的服务器模块mod_gzip可能会自行缓冲,导致flush()不会立即将数据发送到客户端.

甚至浏览器也可以在显示之前缓冲其输入.例如,Netscape缓冲文本,直到它收到行尾或标记的开头,并且</table>在看到最外面的表的标记之前它不会呈现表.

某些版本的Microsoft Internet Explorer只会在收到256字节的输出后才开始显示该页面,因此您可能需要在刷新之前发送额外的空格以使这些浏览器显示该页面.

显示消息或其他内容后将使用此选项.

echo "Patience";

while (!done)
{
    echo ".";
    flush();
}
Run Code Online (Sandbox Code Playgroud)