用PHP解压缩LZMA

时间:2015-09-25 16:15:58

标签: php compression lzma

我有一堆用LZMA压缩的SWF文件,我想在我的服务器上以编程方式解压缩和读取PHP。 有人可以指导我使用PHP LZMA SDK吗?我已经用谷歌搜索了它,但到目前为止只发现了一个断开的链接(7z extension for php?

我有一个工作的python模块,它设法读取LZMA压缩SWF的标题,但它需要一个名为pyLZMA的模块,它似乎不想在我的服务器上安装,并让它在本地工作是一个巨大的痛苦如果有的话,我更喜欢PHP解决方案。

1 个答案:

答案 0 :(得分:2)

有一个名为PHP-SevenZipArchive的库,它是7za和7zr二进制文件的包装器。在linux中为我工作的简单测试场景:

安装p7zip包(yum install p7zip或类似的)

在linux shell中创建测试压缩文件

echo "Compressed data" | lzma -z > compressed.string

下载并解压PHP-SevenZipArchive

wget https://github.com/cmanley/PHP-SevenZipArchive/archive/master.zip
unzip master.zip

为解压缩输出创建目录

mkdir out

创建测试php文件

<?php
require "./PHP-SevenZipArchive-master/SevenZipArchive.php";
$archive = new SevenZipArchive('compressed.string', array('binary'=>'/usr/bin/7za'));
$archive->extractTo('out');
?>

php -f ./index.php将创建文件输出/压缩

cat out/compressed

压缩数据

注意:我之前的回答被版主删除,因为它的质量很差,尽管我已经获得了良好的声誉。所以我以详细的方式完全重写了它。希望这会有所帮助。