显示PHP脚本的完整百分比

krx*_*krx 1 javascript php jquery

我有一个PHP脚本,大约需要10分钟才能完成.

我想给用户一些关于完成百分比的反馈,并且需要一些关于如何做的想法.

我的想法是用jquery和$ .post命令调用php页面.

有没有办法从PHP脚本返回信息而不结束脚本?

例如,根据我对此的了解,如果我返回变量,PHP脚本将停止运行.

我的想法是将脚本分成多个PHP文件,并在给出前一个返回之后运行.post.

但是这仍然无法准确评估剩余的时间,因为每个脚本的大小都不同.

有关这种方法的任何想法?

谢谢!

Kor*_*nel 8

你可以echoflush()输出,但这是次优和相当脆弱的解决方案.

对于长时间操作,最好在后台启动脚本并在共享位置存储/更新脚本状态.

例如,您可以使用fopen('http://…call,proc_openPHP CLI进程或甚至只是在一个长时间运行的脚本中运行脚本<iframe>.

您可以将状态存储在数据库或共享内存中(使用apc_store()).

这将允许用户随时检查脚本的状态(通过刷新页面或使用AJAX),如果浏览器的连接超时,用户将不会忘记脚本的跟踪.

它还可以让您避免两次启动相同的长脚本.