【发布时间】:2013-12-04 12:26:56
【问题描述】:
我有一个包含一些 html 和 php 的网页。 php是用来执行一些linux命令的。我想在我的网页中放置一个引导进度条,当下一个 linux 命令执行时会继续。
假设我执行了 4 个 linux 命令,每次执行完一个命令,进度条应该再前进 25%。
我在网上搜索过,但找不到任何我需要的东西。有什么建议吗?
目前只得到 php/html 部分:
function progressbarStatus($width) {
echo "
<div class = 'container'>
<div class = 'progress progress-striped active'>
<div class = 'progress-bar' role = 'progressbar' aria-valuenow = '$width' aria-valuemin = '0' aria-valuemax = '100'style = 'width: $width%'></div>
</div>
</div>
</div>
";
}
【问题讨论】:
-
使用 AJAX 请求查看命令是否已执行并相应地更新栏的宽度。你能添加一些你已经拥有的代码吗?
-
我唯一拥有的是带有进度条的html部分。
-
我会启动一个异步脚本,将其状态写入某种存储(mysql、memcache、内存、文件等),然后创建一个 ajax 脚本来检查状态,或者查看使用 ajax 请求进行长轮询,如果您选择长轮询,请注意对于某些浏览器,您需要执行类似 echo str_repeat(' ',1024) 之类的操作来启动进程。
-
那么有没有一种方法可以让 Linux 告诉 PHP 何时执行了命令?如果没有,就没有办法正确地做到这一点。执行这些 Linux 命令需要多长时间?
-
时间不同,但我相信大约是 10 秒。这实际上是我希望进度条显示的内容。
标签: php twitter-bootstrap progress-bar