如何获取存档中的文件列表? [复制]

Posted

技术标签:

【中文标题】如何获取存档中的文件列表? [复制]【英文标题】:How to get list of files in an archive? [duplicate] 【发布时间】:2012-03-15 19:40:09 【问题描述】:

我想在存档中生成文件列表。我该如何实现?

例如:我有一个自解压的 CAB 存档,所以我想获取其中的文件列表,如下所示:

 File size | Date       Time     | Name
-----------+---------------------+-------------
      6101 | 21.09.2007 17:38:00 | Advanced.tv_
      5661 | 21.09.2007 17:38:00 | CAD.tv_
   4949932 | 21.09.2007 17:38:00 | data1.cab
     29080 | 21.09.2007 17:38:00 | data1.hdr

添加:这个东西应该是独立于操作系统的。它可能使用跨平台的开源应用程序,例如 7-ZIP。

【问题讨论】:

这个问题对于不同类型的存档会有不同的答案。您是在专门询问 .CAB 吗? 谷歌搜索 php extract cab 引导我到这个:Extract CAB files with PHP Austin, Pekka,它应该支持尽可能多的存档类型。是的,包括 CAB 和 ZIP。 达贡,Windows。但是我们下个月要迁移到 Debian。因此,如果解决方案独立于操作系统,那就更好了。 *** 无法替代 Google。如果您对如何使用声称可以做您想做的事情的特定“跨平台 * 开源应用程序”有疑问,那就完全是另一回事了。 【参考方案1】:

据我所知,PHP 无法读取 CAB 存档。

对于 zip、gz、tgz、bz2、tbz 存档,您可以尝试使用以下内容:

http://pear.php.net/package/File_Archive http://pear.php.net/package/Archive_Zip

编辑:试试Lo-Sauer的PHP CAB Reader

【讨论】:

我用 PHP 写了一个 cab 阅读器,虽然它非常有限并且只适用于 cab 存档中存储的、未压缩的文件:github.com/lsauer/php-cab-reader

以上是关于如何获取存档中的文件列表? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 C++ 中获取目录中的文件列表? [复制]

如何比较 tar 存档和目录中的文件列表?

从 ZIP 存档中导出文件列表而不解压缩

如何获取 Net::OpenSSH->scp_get() 方法复制的文件列表

如何使用系统变量 %LOCALAPPDATA% 获取文件列表? [复制]

`unzip -l` 时提取 zip 存档中的文件名列表