使用php创建动态zip文件的最简单方法是什么?
例如,
我在服务器上有这些文件,
Root -> Folder 1 -> file1.wav
Root -> Folder 2 -> file2.jpg
我想创建一个包含这2个文件的zip文件,并允许用户下载它。
任何帮助?
提前谢谢
答案 0 :(得分:3)
参见ZipArchive类;它有你需要的东西。
http://www.php.net/manual/en/class.ziparchive.php
PHP.Net的例子:
<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
$zip->addFile('/path/to/index.txt', 'newname.txt');
$zip->close();
echo 'ok';
} else {
echo 'failed';
}
?>
压缩后,您可以输出mime-type标头并输出文件:
header('Content-type: application/zip');
readfile('test.zip');
答案 1 :(得分:0)
这是在php中制作zip的工作示例
$zip = new ZipArchive();
$zip_name = time().".zip"; // Zip name
$zip->open($zip_name, ZipArchive::CREATE);
foreach ($files as $file) {
echo $path = "uploadpdf/".$file;
if(file_exists($path)){
$zip->addFromString(basename($path), file_get_contents($path));
}
else{
echo"file does not exist";
}
}
$zip->close();