0

我需要每天多次将文件夹中的数千个大文件放入 RAR 存档中。我曾经使用带有 RAR 软件包的自定义命令通过 sFTP 手动执行此操作。

我想知道是否可以在 PHP 中使用 system() 使用 RAR 命令,并每隔一秒左右返回结果,以清楚地表明该过程有多远。

当您使用 RAR 命令时,它会在终端窗口中绘制一个进度条,就像 wget 一样。我想抓住那个进度条并以某种方式将其显示在页面上。

关于我如何做到这一点的任何想法?

谢谢 :)

4

3 回答 3

3

You can use the PHP popen() call to execute a process and read its standard output. That will get you the progress bar. However, using the PHP builtin rar support might get you a more robust solution with better information on what went wrong and why.

于 2009-10-27T03:52:31.097 回答
0

如果你坚持使用system()那么你能做的最好的就是从进程中获取返回码。找出成功的返回码。使用它来确定您的操作实际上是否成功。

如果您使用exec()passthru()您也可以获得命令的输出。

您也许可以使用popen()的一些魔法来获得进度条,但我不确定。

于 2009-10-27T03:52:58.863 回答
0

是的,可能 popen() 很有用。您可以获取输出并对其进行解析以获取结果。

于 2009-10-27T04:02:32.750 回答