当前位置:首页 > PHP教程 > php文件操作 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2019-08-16 09:10:14 浏览: 评论:0 

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

  1. /* creates a compressed zip file */ 
  2.  
  3. function create_zip($files = array(),$destination = '',$overwrite = false) { 
  4.  
  5.   //if the zip file already exists and overwrite is false, return false 
  6.  
  7.   if(file_exists($destination) && !$overwrite) { return false; } 
  8.  
  9.   //vars 
  10.  
  11.   $valid_files = array(); 
  12.  
  13.   //if files were passed in... 
  14.  
  15.   if(is_array($files)) { 
  16.  
  17.     //cycle through each file 
  18.  
  19.     foreach($files as $file) { 
  20.  
  21.       //make sure the file exists 
  22.  
  23.       if(file_exists($file)) { 
  24.  
  25.         $valid_files[] = $file
  26.  
  27.       } 
  28.  
  29.     } 
  30.  
  31.   } 
  32.  
  33.   //if we have good files... 
  34.  
  35.   if(count($valid_files)) { 
  36.  
  37.     //create the archive 
  38.  
  39.     $zip = new ZipArchive(); 
  40.  
  41.     if($zip->open($destination,$overwrite ? ZIPARCHIVE::OVERWRITE : ZIPARCHIVE::CREATE) !== true) { 
  42.  
  43.       return false; 
  44.  
  45.     } 
  46.  
  47.     //add the files 
  48.  
  49.     foreach($valid_files as $file) { 
  50.  
  51.       $zip->addFile($file,$file); 
  52.  
  53.     } 
  54.  
  55.     //debug 
  56.  
  57.     //echo 'The zip archive contains ',$zip->numFiles,' files with a status of ',$zip->status; 
  58.  
  59.     //close the zip -- done! 
  60.  
  61.     $zip->close(); 
  62.  
  63.     //check to make sure the file exists 
  64.  
  65.     return file_exists($destination); 
  66.  
  67.   }//phpfensi.com 
  68.  
  69.   else 
  70.  
  71.   { 
  72.  
  73.     return false; 
  74.  
  75.   } 
  76.  

使用方法:

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

Tags: php创建zip压缩文件

分享到: