PHP文件Zip压缩和解压缩

本文介绍了一个PHP脚本,用于将多个文件压缩成一个Zip文件,并提供了解压Zip文件的功能。通过简单的函数调用即可实现文件的压缩与解压。
PHP文件 Zip 压缩 /* creates a compressed zip file */
注意:开启PHP zip压缩扩展extension=php_zip.dll
    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=a rray();
         //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=array('file1.jpg', 'file2.jpg', 'file3.gif');
    create_zip($files, 'myzipfile.zip', true);
 PHP解压缩 Zip 文件
/* @file - path to zip file *@destination - destination directory for unzipped files */
    function unzip_file($file, $destination){
         // create object
         $zip = new ZipArchive() ;
         // open archive
         if ($zip->open($file) !== TRUE) {
             die ('Could not open archive');
         }
         // extract contents to destination directory
         $zip->extractTo($destination);
         // close archive
         $zip->close();
         echo 'Archive extracted to directory';
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值