PHP - 将rar存档的所有文件解压缩到主文件夹

时间:2017-02-23 15:38:47

标签: php archive rar

我有一个包含许多文件和文件夹的rar文件。我想将rar文件的子文件夹中的文件解压缩到主文件夹。

我试过这个:

$archive = RarArchive::open('example.rar');

$entries = $archive->getEntries();

foreach ($entries as $entry)
    $entry->extract($dir);

$archive->close();

但是,这会将文件提取到同一文件夹,而不是主文件夹。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

我尝试了一个自己的解决方案,它的确有效:

$archive = RarArchive::open('example.rar');

$entries = $archive->getEntries();

foreach ($entries as $entry)
{
        $fileinfo = pathinfo($entry->getName());
        copy("rar://".$file."#".$entry->getName(), $dir.'/'.$fileinfo['basename']);
}

$archive->close();

对于不提取文件夹(空文件夹),我们可以把

if(!empty($fileinfo['extension']))
复制功能之前

感谢我: - )