有一个名为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的LZMA类/库/扩展,您可以随时调用命令行'7z'应用程序。 –
如何通过命令行解码〜8MB的字符串? – hedgehog90
您可以将它保存为临时文件,或者'7z'可以接受来自STDIN的数据。 –