tar 实用程序、PHP 和 exec

Posted

技术标签:

【中文标题】tar 实用程序、PHP 和 exec【英文标题】:tar utility, PHP and exec 【发布时间】:2013-08-27 14:16:57 【问题描述】:

考虑下面的代码

echo "tar -cvf $outpath -C $path $file<br>";
$arr = array();
$val = exec("tar -cvf $outpath -C $path $file", $arr);
var_dump($arr);

echo 输出 tar -cvf ../folder/subfolder1/1234.tar -C ../folder/ subfolder2 如果我从 htdocs 文件夹的命令行调用它,这个命令真的会创建存档。然而 exec 什么也不做。 var_dump($arr) 打印空数组。那么问题来了

    如何让exec 创建存档? 为什么输出的是空数组?

UPD。请注意,我正在运行 Windows。

【问题讨论】:

shell_exec('....') 也许? ***.com/questions/2173443/… @DrColossos,shell_exec 也不输出任何内容:( 【参考方案1】:

对于那些将阅读此问题的人:将2&gt;&amp;1 添加到命令会有所帮助。我用shell_exec代替了sheel

$val = shell_exec("tar -cvf $outpath -C $path $file 2>&1");
echo "$val"; // prints output from tar

【讨论】:

以上是关于tar 实用程序、PHP 和 exec的主要内容,如果未能解决你的问题,请参考以下文章

php PHP实用程序

php 我个人的PHP实用程序函数集合

php 获取插件信息的实用程序

PHP 中的 HTML2PDF - 转换实用程序和脚本 - 示例和演示

PHP 用于在会话中保留数组的实用程序函数。

PHP 用于人类可读和PHP代码插入的数组显示实用程序