【发布时间】:2018-08-17 23:16:50
【问题描述】:
我在内存中创建了多个 PDF 文件流。我可以从这些流中创建一个 zip 文件吗?如果可以,如何创建?我想给用户一个下载的我的文件的 zip,而不在服务器上创建任何文件。
ZipArchive 似乎只在运行addFile 时采用文件名。
【问题讨论】:
我在内存中创建了多个 PDF 文件流。我可以从这些流中创建一个 zip 文件吗?如果可以,如何创建?我想给用户一个下载的我的文件的 zip,而不在服务器上创建任何文件。
ZipArchive 似乎只在运行addFile 时采用文件名。
【问题讨论】:
我最终找到了我的解决方案here:
与那里给出的解决方案类似,我使用了来自phpmyadmin 的类,如下所示:
header('Content-Type: application/octet-stream');
header("Content-Disposition: attachment; filename='whatever.zip'");
$zip = new ZipFile;
foreach($pdfs as $idx => $content) {
$zip->addFile($content, "file$idx.pdf");
}
file_put_contents("php://output", $zip->file());
【讨论】: