如何在PHP中执行和显示一系列操作的进度?

时间:2014-04-10 06:57:40

标签: php jquery ajax

我需要调用一系列操作,并在PHP中的单个页面上显示调用的实时进度和已执行操作的结果。该操作可以是命令行调用或数据库更新。执行每个命令后,内容需要刷新。在PHP中执行此操作的最佳方法是什么。是否有一些我可以利用的图书馆?

编辑: 在这里,我实际上并不是在寻找终端模拟器。我需要执行一系列操作。操作可以是任何操作(返回结果的函数调用)。我需要显示结果。我想知道是否有一个框架来做到这一点。如果没有,最好的方法是什么?

3 个答案:

答案 0 :(得分:2)

您可以采取以下两种方式之一:

  1. (推荐)使用PHP(快速)生成主页面,然后使用AJAX调用执行需要时间才能完成的逻辑。如果您使用AJAX调用,则有很多关于如何创建进度状态的选项,例如使用http://jqueryui.com/progressbar/(google JavaScript进度条以获取更多信息。

  2. 在PHP页面完全加载之前,刷新缓冲区以强制消息(可包括进度消息,JavaScript Progress Widget等)更新到浏览器。根据此处的API页面http://us2.php.net/flush,根据您的网络浏览器,这可能会或可能不会有效。

  3. geremy

答案 1 :(得分:0)

您应该查看exec()system()

http://php.net/function.exec http://php.net/function.system

这些将为您提供基本功能,但我不确定如果您运行的命令具有动画进度条或在启动后需要用户输入,它们会执行此操作。

查看这两个列出的其他功能,您可能会发现更适合您。

祝你好运!

答案 2 :(得分:0)

查看websockets。我使用Ratchet(socketo.me)和WAMP(Web应用程序消息协议)和zmq实现了类似的东西。任何进程都可以通过zmq向websocket服务器发送消息,然后发送给客户端。