如何在脚本完成加载时输出一些文本。
我的脚本获取网址列表的元数据,我想要发生的是:
点击开始,文字显示正在加载 当脚本完成时,它说完了
用户可以单击导出按钮并获取数据!
答案 0 :(得分:1)
由于PHP和Web的工作方式,你无法真正做到这一点。基本上,PHP的输出在被发送到客户端之前被缓冲,所以即使你将print "Finished"
放在脚本的末尾,客户端也会等待响应,直到整个脚本完成,然后整个输出立即显示。
还有脚本超时,这意味着如果您的脚本花费的时间超过配置的完成时间(默认为30秒),则会中止并向客户端发送错误消息。
最优雅的解决方案是在脚本之外进行实际工作(如果花费的时间超过一分钟,请考虑使用cron作业),并使用文件或数据库在脚本和cron作业之间进行通信。所以你要做的是:
这是基本设置;为了获得更舒适的用户体验,您可能希望使用某种Ajax心跳而不是不断重新加载。