| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
gw23e
10年前发布

PHP 片段即时压缩 zip 文件

使用下面的 PHP 片段可以即时压缩 zip 文件

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;        }    }

用法:
<?php  $files=array('file1.jpg', 'file2.jpg', 'file3.gif');    create_zip($files, 'myzipfile.zip', true);   ?>