PHP zlib:如何从字符串变量动态创建内存zip文件?

4

这就是我所需的

$a=array('folder'=>'anyfolder','filename'=>'anyfilename','filedata'=>'anyfiledata');

我需要创建一个变量 $zip ,其中包含来自 $a 的压缩数据,并将此 $zip 输出到浏览器窗口中。
header('Content-type: application/octetstream');
echo $zip;

我找到的所有库都是将文件打包并在磁盘上创建zip文件。我需要动态地使用内存来完成这项工作。有没有使用纯php的zlib并且不需要学习zip格式规范的示例可以参考?
更新:
可以使用 CreateZIP 类实现吗?
再次更新:
可以的 =)

一个简单的解决方案是使用tmpfs创建一个ramdisk,并在其中处理您的zip文件。 - Green Black
1个回答

3
是的,CreateZIP 类可以实现这个功能。
require_once('CreateZipFile.php');
$zip = new CreateZipFile;
$zip->addFile('anyfiledata', 'anyfilename');
$zip->addFile('anyfiledata2', 'anyfolder/anyfilename.anyext');
$zip->addDirectory('anyemptydirwouldbecreatedinthiszipfile');
header('Content-disposition: attachment; filename='.'zipfile.zip'.'');
header('Content-type: application/octetstream');
echo $zip->getZippedfile();
die();

感谢Er. Rochak Chauhan的帮助。

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