有RarArchive和ZipArchive
应用场景:如果导出数据有100万条,超过excel限制。则可以分批产生多个文件,然后打包压缩
1、将文件加入压缩包
// 将文件加入压缩包
$xls_files = ['./1.json', './2.json'];
$filename = './all_file.zip';
$zip = new ZipArchive();
if ($zip->open($filename, ZipArchive::CREATE)!==TRUE) {
exit("cannot open <$filename>\n");
}
foreach ($xls_files as $key => $value) {
$zip->addFile($value, '/'.basename($value));
}
$zip->close();
// 删除文件
foreach ($xls_files as $key => $value) {
// @unlink($value);
}
2、解压文件
$zip=new ZipArchive;//新建一个ZipArchive的对象
if($zip->open('all_file.zip')===TRUE){
// $zip->setPassword("123456"); //解压密码
$zip->extractTo('all_file');//假设解压缩到在当前路径下all_file文件夹内
$zip->close();//关闭处理的zip文件
}