ZipArchive是PHP自带函数 只需要开启即可,若php.ini里面没有 请自行到官网下载
function zip ($name, $path){
if (!file_exists ($path)) {
return false;
}
$current_dir = opendir ($path);
while (($file = readdir ($current_dir)) !== false) {
$sub_dir = $path . DIRECTORY_SEPARATOR . $file;
if ($file == '.' || $file == '..') {
continue;
}
if (is_file ($sub_dir)) {
$files[] = $file;
}
}
if (empty($files)) {
return false;
}
$zip_filename = $path.'/' . $name . '.zip';
@unlink ($zip_filename);
if (!file_exists ($zip_filename)) {
touch ($zip_filename);
$zip = new \ZipArchive();
$ret = $zip->open ($zip_filename, \ZipArchive::OVERWRITE);
if ($ret !== true) {
return false;
} else {
if (!empty($files)) {
foreach ($files as $file) {
$zip->addFile ($path . '/' . $file, $file);
}
}
$zip->close ();
}
}
return $zip_filename;
}