【问题标题】:PHP - Extracting all files of rar archive to main folderPHP - 将rar存档的所有文件提取到主文件夹
【发布时间】:2017-07-14 04:37:00
【问题描述】:

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

我试过这个:

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

$entries = $archive->getEntries();

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

$archive->close();

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

有什么建议吗?

【问题讨论】:

  • 可能是$entry->extract(null, $dir.'/'.basename($entry->getName()));php.net/manual/en/rarentry.extract.php
  • @JustOnUnderMillions 不,它再次被提取到同一个文件夹中。
  • 不知道$dir 中的内容(路径(相对或绝对)):-) 但你帮了自己

标签: php archive rar


【解决方案1】:

我尝试了一个自己的解决方案,它的工作原理:

$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']))

复制功能之前。

感谢我 :-)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-06
    • 1970-01-01
    • 2018-05-20
    • 2014-09-10
    • 1970-01-01
    • 2017-09-19
    • 2020-05-15
    相关资源
    最近更新 更多