php 将文件压缩长zip文件_PHP_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > PHP > php 将文件压缩长zip文件

php 将文件压缩长zip文件

 2013/6/19 11:17:57  hbsession  程序员俱乐部  我要评论(0)
  • 摘要:functioncreate_zip($files=array(),$destination='',$overwrite=false){//var_dump($files);//如果zip文件已经存在并且设置为不重写返回falseif(file_exists($destination)&&!$overwrite){returnfalse;}$valid_files=array();//获取到真实有效的文件名if(is_array($files)){foreach
  • 标签:PHP 文件 压缩
class="java" name="code">
function create_zip($files = array(),$destination = '',$overwrite = false) {   
        //var_dump($files);
        //如果zip文件已经存在并且设置为不重写返回false    
        if(file_exists($destination) && !$overwrite) { return false; }   
        $valid_files = array();        
        //获取到真实有效的文件名    
        if(is_array($files)) {    
            foreach($files as $file) {  
                //去掉真实名字
                $service_file=substr($file,0,strripos($file,'@',0));
                $real_name=substr($file,strlen($service_file),strlen($file)-strlen($service_file));
                if(file_exists($service_file)) {    
                    //验证文件再次把真实名字添加进去
                    $file=$service_file.$real_name;
                    $valid_files[] = $file;    
                }    
            }    
        }
        //如果存在真实有效的文件    
        if(count($valid_files)) {    
            $zip = new ZipArchive();    
            //打开文件       如果文件已经存在则覆盖,如果没有则创建    
            if($zip->open($destination,$overwrite ? ZIPARCHIVE::OVERWRITE : ZIPARCHIVE::CREATE) !== true) {    
                return false;    
            }       
            //向压缩文件中添加文件    
            foreach($valid_files as $file) {   
                $service_file=substr($file,0,strripos($file,'@',0));
                $real_name=substr($file,strlen($service_file)+1,strlen($file)-strlen($service_file));
                $file=$service_file;
                $file_info_arr= pathinfo($file);  
                $filename =$real_name;   
                $zip->addFile($file,$filename);    
            }      
            //关闭文件    
            $zip->close();     
            //检测文件是否存在    
            return file_exists($destination);    
        }else{    
            //如果没有真实有效的文件返回false    
            return false;    
        }    
    } 
发表评论
用户名: 匿名