php - 用PHP解压LZMA

标签 php compression lzma

我有大量使用 LZMA 压缩的 SWF 文件,我想在我的服务器上以编程方式解压缩并使用 PHP 读取这些文件。 有人可以指导我使用 PHP LZMA SDK 吗?我用谷歌搜索了它,但到目前为止,除了对损坏链接 ( 7z extension for php? ) 的引用外,什么也没找到

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

最佳答案

有一个图书馆叫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

压缩数据

注意:我之前的回答因质量低劣而被版主删除,尽管我已经因此获得了良好的声誉。因此,我以详细的方式完全重写了它。希望这有助于更多。

关于php - 用PHP解压LZMA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32786485/

相关文章:

javascript - 检查页面重新加载时的 JS 变量并相应地隐藏/显示 div

java - PDF 压缩技术

pandas - 导入 Pandas 导致 ModuleNotFoundError :_lzma

Java解压zlib

php - 如何在 PHP 上获取根目录

php - 如何在 PHP 中连接用户定义的变量并将结果插入 MySQL 表

php - PHP printf() 中的 %f 与 %F

linker - 在调试信息压缩标志的各种组合下,压缩的调试信息如何在汇编器和链接器之间流动?

compression - java.util.zip.ZipException : invalid distance too far back while decompressing

ms-access - VB6/VBA 的 LZMA 压缩?