我在我的网站上使用 AJAX,我想向用户显示我的服务器正在下载的文件的进度。
下载是通过向 shell 输出百分比 的脚本完成的。我想使用 AJAX 将此信息传回给用户。我该怎么做?
感谢您的帮助和指导。
我希望您的解决方案不涉及写入文本文件并从文本文件中检索该百分比!!我想太多了。
编辑 - 更多信息
这是一个 Linux Shell 命令 - Fedora Core 10。
目前 shell 输出是这样的:
[download] 9.9% of 10.09M at 10.62M/s ETA 00:00
百分比发生变化,我希望捕获它并在发生变化时将其发回给用户。
为了执行此操作,我使用了 PHP 的 exec() 函数。
最佳答案
您可以使用 popen 而不是 exec .这将为您提供一个句柄,您可以将其与 fread 一起使用,以获取命令生成的输出。
您需要解析它对百分比指示器所做的更新。获得这些数据后,您可以通过多种方式将其提供给客户,例如使用“comet”样式推送,或使用 Ajax 请求轮询更新。
关于php - AJAX - 执行的 shell 命令的进度条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/513793/