我正在通过 iframe 包装器中的 POST 上传一些文件,这些文件可能需要异常多的时间来处理。
在我输出要由 iframe 的 onload 事件捕获的结果之前,我想让用户以某种方式知道上传已经完成,现在处理已经开始。
否则用户可能会因漫长的等待而感到困惑。
我正在考虑显示一条初始消息,然后在完成后添加另一行,然后在 iframe 中比较输出页面的内容。但由于某种原因,这种方法永远不会奏效。
例子:
print 'processing started';
for ($i=0; $i < 10; $i++) {
echo '...still processing';
sleep(1);
}
echo 'done';
(期待看到“处理开始”消息,一旦完成加载就“完成”,但它只是在等待 10 秒后一次性吐出)。
所以我想知道如何做到这一点?
我的另一个想法是在页面的开头设置一个重定向标题,这样一旦文件上传,它就会重定向到其他页面,在那里它会进行处理。然后尝试捕获重定向和最终响应。
但这是一种奇怪的方式,它还需要传递提交的参数并将上传的文件从临时文件夹中移动到某个位置,因此一旦输出了 php 脚本,它们就不会被删除。
...所以我想知道是否有更好的方法来做我想做的事情?