最新消息: 新版网站上线了!!!

php创建zip压缩包的方法

  1. /* creates a compressed zip file */ 
  2. function create_zip($files = array(),$destination = '',$overwrite = false) { 
  3.     //if the zip file already exists and overwrite is false, return false 
  4.     if(file_exists($destination) && !$overwrite) { return false; } 
  5.     //vars 
  6.     $valid_files = array(); 
  7.     //if files were passed in... 
  8.     if(is_array($files)) { 
  9.         //cycle through each file 
  10.         foreach($files as $file) { 
  11.             //make sure the file exists 
  12.             if(file_exists($file)) { 
  13.                 $valid_files[] = $file
  14.             } 
  15.         } 
  16.     } 
  17.     //if we have good files... 
  18.     if(count($valid_files)) { 
  19.         //create the archive 
  20.         $zip = new ZipArchive(); 
  21.         if($zip->open($destination,$overwrite ? ZIPARCHIVE::OVERWRITE : ZIPARCHIVE::CREATE) !== true) { 
  22.             return false; 
  23.         } 
  24.         //add the files 
  25.         foreach($valid_files as $file) { 
  26.             $zip->addFile($file,$file); 
  27.         } 
  28.         //debug 
  29.         //echo 'The zip archive contains ',$zip->numFiles,' files with a status of ',$zip->status; 
  30.          
  31.         //close the zip -- done! 
  32.         $zip->close(); 
  33.          
  34.         //check to make sure the file exists 
  35.         return file_exists($destination); 
  36.     } 
  37.     else 
  38.     { 
  39.         return false; 
  40.     } 

使用方法

 

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

 

转载请注明:谷谷点程序 » php创建zip压缩包的方法