0

我正在使用这个小小的 PHP 代码来将任何文件镜像到我的服务器中。

<?php
 $cmd= "curl -L -O http://www.dropbox.com/s/8lu0nutt4tgpkku/jbtools.ipa";
 exec($cmd);
?>

但是浏览器一直冻结,直到镜像过程完成。我的问题是,当我在终端中运行此命令时,如何显示进度条。像这样的东西:

% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                             Dload  Upload   Total   Spent    Left  Speed

我尝试了许多标志,例如:

-v --verbose -I -include --trace -

但他们都没有工作。我还在这里问了一个问题,将其转换为 PHP CURL 代码,但没有人能帮我解决这个问题!

如果不可能,非常感谢建议我通过任何其他命令完成相同的工作。

4

1 回答 1

0

最简单的方法是轮询。在后台执行脚本并将前端(js)可以轮询的输出(到文件)定向。

在后台执行示例: https ://felixmilea.com/2014/12/running-bash-commands-background-properly/

在 shell 中显示进度可以通过管道到 pv 来完成:http: //linux.die.net/man/1/pv

考虑用 websockets 试试这个: http ://reactphp.org/ - 看看 rachet 项目。这将为您提供您想要执行的任何内容的实时输出。

于 2016-08-14T11:17:55.270 回答