将tar文件解压缩到目录中

时间:2011-09-06 19:56:38

标签: php exec tar compression

我正在尝试将tar文件解压缩到目录中,但不知道如何。 我可以将它提取到与tar文件相同的目录,但不能提取到另一个文件夹中。

$filename = "homedir.tar";
exec("tar xvf $filename");

尝试了以下操作,但它不起作用(没有提取任何内容):

exec("tar -C, homedir zxvf $filename");

更新

这是我文件的内容:

# Absolute paths
$filepath = "/home/acc/public_html/test/test/homedir.tar";
$folderpath = "/home/acc/public_html/test/test/homedir";

# Check if folder exist
if(!is_dir($folderpath)) {
    die('Folder does not exist');
}

# Check if folder is writable
if(!is_writable($folderpath)) {
    die('Folder is not writable');
}

# Check if file exist
if(!file_exists($filepath)) {
    die('File does not exist');
}

exec("tar -C $folderpath -zxvf $filepath");

没有错误,但也没有任何东西正在解压缩。

1 个答案:

答案 0 :(得分:3)

从-C中删除逗号并在zxvf之前添加破折号:

exec("tar -C $outdir -zxvf $infile");

或者你可以把-C部分放在最后,你不需要在zxvf之前使用破折号:

exec("tar zxvf $infile -C $outdir");

你应该确保你的路径是绝对的,只是为了确定。