PHP生成压缩包
2021-04-13 16:28
标签:basename $path 删除 hand 指定 file false 添加 文件名 判断给出的路径,是文件夹,还是文件。文件夹还需要遍历添加文件。 PHP生成压缩包 标签:basename $path 删除 hand 指定 file false 添加 文件名 原文地址:https://www.cnblogs.com/yulongcode/p/12382817.html压缩一个文件
open($filename,ZipArchive::CREATE); //打开压缩包
$zip->addFile($path,basename($path)); //向压缩包中添加文件
$zip->close(); //关闭压缩包
压缩多个文件
open($filename,ZipArchive::CREATE); //打开压缩包
foreach($fileList as $file){
$zip->addFile($file,basename($file)); //向压缩包中添加文件
}
$zip->close(); //关闭压缩包
压缩一个目录
addFile($path . "/" . $filename);
}
}
}
@closedir($path);
}
$zip = new ZipArchive();
if ($zip->open('rsa.zip', ZipArchive::OVERWRITE) === TRUE) {
addFileToZip('rsa/', $zip); //调用方法,对要打包的根目录进行操作,并将ZipArchive的对象传递给方法
$zip->close(); //关闭处理的zip文件
}
压缩并下载zip包
设置相关文件头,并使用readfile函数提供下载。
使用unlink函数删除压缩包addFile($path . "/" . $filename);
}
}
}
@closedir($path);
}
$zip = new ZipArchive();
if ($zip->open('rsa.zip', ZipArchive::OVERWRITE) === TRUE) {
$path = 'rsa/';
if (is_dir($path)) { //给出文件夹,打包文件夹
addFileToZip($path, $zip);
} else if (is_array($path)) { //以数组形式给出文件路径
foreach ($path as $file) {
$zip->addFile($file);
}
} else { //只给出一个文件
$zip->addFile($path);
}
$zip->close(); //关闭处理的zip文件
}