下载表单 - 选择文件组合成Zip

时间:2010-01-07 11:27:17

标签: php

我希望创建一个表单,用户可以从一个小册子列表中进行选择。总共10个。

他们可能只想下载3个小册子,或6个,或1个或9个,但他们的想法是选择他们想要的小册子,然后脚本组合一个包含所需小册子的zip文件。

有人可以提出任何建议吗?

1 个答案:

答案 0 :(得分:1)

PHP对此UseCase

有一个Zip extension

ZipArchive::addFile

手册页中的示例
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
    $zip->addFile('/path/to/index.txt', 'newname.txt');
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}

因此,您所要做的就是将用户选择的文件添加到ZipArchive,然后通过header()发送存档:

header('Content-type: application/zip');
header('Content-Disposition: attachment; filename="test.zip"');
readfile('test.zip');