php教程

超轻量级php框架startmvc

php简单创建zip压缩文件的方法

更新时间:2020-03-09 01:22:27 作者:startmvc
本文实例讲述了php简单创建zip压缩文件的方法。分享给大家供大家参考,具体如下:/*creates

本文实例讲述了php简单创建zip压缩文件的方法。分享给大家供大家参考,具体如下:


/* creates a compressed zip file */
function create_zip($files = array(),$destination = '',$overwrite = false) {
 //if the zip file already exists and overwrite is false, return false
 if(file_exists($destination) && !$overwrite) { return false; }
 //vars
 $valid_files = array();
 //if files were passed in...
 if(is_array($files)) {
 //cycle through each file
 foreach($files as $file) {
 //make sure the file exists
 if(file_exists($file)) {
 $valid_files[] = $file;
 }
 }
 }
 //if we have good files...
 if(count($valid_files)) {
 //create the archive
 $zip = new ZipArchive();
 if($zip->open($destination,$overwrite ? ZIPARCHIVE::OVERWRITE : ZIPARCHIVE::CREATE) !== true) {
 return false;
 }
 //add the files
 foreach($valid_files as $file) {
 $zip->addFile($file,$file);
 }
 //debug
 //echo 'The zip archive contains ',$zip->numFiles,' files with a status of ',$zip->status;
 //close the zip -- done!
 $zip->close();
 //check to make sure the file exists
 return file_exists($destination);
 }
 else
 {
 return false;
 }
}

使用方法:


$files_to_zip = array(
 'preload-images/1.jpg',
 'preload-images/2.jpg',
 'preload-images/5.jpg',
 'kwicks/ringo.gif',
 'rod.jpg',
 'reddit.gif'
);
//if true, good; if false, zip creation failed
$result = create_zip($files_to_zip,'my-archive.zip');

php 创建zip压缩文件