Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在脚本运行时,如何以增量方式向用户回显响应?_Php - Fatal编程技术网

Php 在脚本运行时,如何以增量方式向用户回显响应?

Php 在脚本运行时,如何以增量方式向用户回显响应?,php,Php,我有一个导入,需要在每次将项目成功导入数据库时通知用户。是否有一种方法可以循环、执行某些功能、提供输出消息,然后使用相同的操作再次循环?您可以使用该函数在PHP脚本完成之前向用户发送输出 刷新-刷新输出缓冲区 刷新PHP的输出缓冲区以及PHP使用的任何后端(CGI、web服务器等)。这将有效地将所有输出推送到用户的浏览器 flush()对web服务器或客户端浏览器的缓冲方案没有影响。因此,您需要调用ob_flush()和flush()来刷新输出缓冲区 一些服务器(尤其是Win32上的服务器)仍会

我有一个导入,需要在每次将项目成功导入数据库时通知用户。是否有一种方法可以循环、执行某些功能、提供输出消息,然后使用相同的操作再次循环?

您可以使用该函数在PHP脚本完成之前向用户发送输出

刷新
-刷新输出缓冲区

刷新PHP的输出缓冲区以及PHP使用的任何后端(CGI、web服务器等)。这将有效地将所有输出推送到用户的浏览器

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

一些服务器(尤其是Win32上的服务器)仍会缓冲脚本的输出,直到脚本终止,然后再将结果传输到浏览器

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

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

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

这将在您显示消息或其他内容后使用

echo "Patience";

while (!done)
{
    echo ".";
    flush();
}

注意:
flush()
函数的注意事项是,虽然它(特别是与
ob\u flush()
结合使用)为您提供了最佳的成功机会,但无法保证访问者在脚本终止之前看到任何东西。