我有一个包含许多文件和文件夹的rar文件。我想将rar文件的子文件夹中的文件解压缩到主文件夹。
我试过这个:
$archive = RarArchive::open('example.rar');
$entries = $archive->getEntries();
foreach ($entries as $entry)
$entry->extract($dir);
$archive->close();
但是,这会将文件提取到同一文件夹,而不是主文件夹。
有什么建议吗?
答案 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']))
在复制功能之前。
感谢我: - )