PHP ZipArchive 是PHP自带的扩展类,可以轻松实现ZIP文件的压缩和解压,使用前首先要确保PHP ZIP 扩展已经开启。 ?php/* 说明: 将多个文件压缩成一个zip文件的函数 * @param $files 数组类型 * @
<?php /* 说明: 将多个文件压缩成一个zip文件的函数 * @param $files 数组类型 * @param destination 目标文件的路径 * @param $overwrite 是否为覆盖与目标文件相同的文件 */ function create_zip($files = array(),$destination = '',$overwrite = false){ //如果zip文件已经存在并且设置为不重写返回false if(file_exists($destination) && !$overwrite) { return false; } $valid_files = array(); //获取到真实有效的文件名 if(is_array($files)) { foreach($files as $file) { if(file_exists($file)) { $valid_files[] = $file; } } } //如果存在真实有效的文件 if(count($valid_files)) { $zip = new ZipArchive(); //打开文件 如果文件已经存在则覆盖,如果没有则创建 if($zip->open($destination,$overwrite ? ZIPARCHIVE::OVERWRITE : ZIPARCHIVE::CREATE) !== true) { return false; } //向压缩文件中添加文件 foreach($valid_files as $file) { $zip->addFile($file,$file); } //关闭文件 $zip->close(); //检测文件是否存在 return file_exists($destination); }else{ return false; } } $files = array('tg.php'); create_zip($files,'tg.zip', true); ?>