PHP能够支持7z后缀吗?

14

我找不到相应的方法,也不知道是否有任何PHP压缩和存档扩展可用。

你认为我能否使用压缩流从7z文件中读取数据?

更新

  • 7z论坛上有很多请求开发PHP扩展的帖子

如果没有,您仍然可以使用exec与7zip进行接口交互。 - Gordon
我知道,但我更希望找到一种不需要使用exec的解决方案。 - Elzo Valugi
我曾考虑为7-Zip编写一个扩展,但是... 7-Zip本身仅适用于Windows。另一方面,p7zip不支持Windows。因此编写可移植的扩展将会很困难。然后,如果我没记错的话,还有许可证问题,即LGPL并不理想。只使用LZMA SDK可能是可行的(我认为它有一个可移植的C API),但这不是同一件事情。 - Artefacto
我也曾这么想,但我的 C 语言功夫不够好。 - Elzo Valugi
1个回答

5

7z文件格式可以使用各种压缩算法,因此您可能可以使用现有的bzip2或deflate实用程序之一来解压缩归档文件。

我也找到了一个7z PHP类,而且你很幸运,因为它仍在开发中。这是最新版本


目前它只在Linux上进行了测试,并限制自己列出存档的内容。它还可以返回所有文件的Content-Type。它还可以返回“text/…”文件的Charset +内容。它还可以返回存储在存档中的存档的内容。 - Elzo Valugi
1
这总比没有好,我想。也许使用LZMA SDKSWIG for PHP可能是制作7z扩展的简单方法。虽然,我不确定这是否比通过exec()使用命令行程序要好得多。 - bobdiaes
自从这个答案发布以来,PHP类已经有了更新的版本,版本号为0.13.3(答案发布时最新版本为0.13.1)。我将更新答案中的“最新版本”链接,指向版本0.13.3,以便那些(像我一样)稍后通过Google搜索找到这个答案的人。 - rmunn
然而,它仍然无法提取文件,只能列出它们。这是一个相当重要的缺失功能。 - rmunn
是的,我不会接受那个作为答案……仍然没有任何进展。 - Flash Thunder
4
链接已失效!如果您中的任何人能够上传源文件,我将不胜感激,我非常需要它! - hedgehog90

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接