美文网首页
php Zip扩展

php Zip扩展

作者: 萧格 | 来源:发表于2018-09-20 23:11 被阅读0次

    php中把文件压缩为zip格式可以使用php的zip扩展实现。

    版本要求

    PHP >= 5.2.0

    实例

        /**
         * @apiDescription 压缩打包zip
         * @param $saveDir
         * @param $zipName
         */
        protected function packToZip($saveDir, $zipName)
        {
            // 验证压缩文件是否已存在?存在则删除
            if(file_exists($zipName)) {
                unlink($zipName);
            }
            $zip = new \ZipArchive();
            if($zip->open($zipName, \ZipArchive::CREATE) === TRUE) {
                $this->addFileToZip($saveDir, $zip,$saveDir); //调用方法,对要打包的根目录进行操作,并将ZipArchive的对象传递给方法
                $zip->close(); //关闭处理的zip文件
            }
            return ;
        }
        /**
         * @apiDescription    往zip中添加文件
         * @param $path       需压缩的文件路径
         * @param $zip        zip对象
         */
        protected function addFileToZip($path, $zip){
            $handler = opendir($path);
            while(($filename = readdir($handler)) !== false) {
                if($filename != "." && $filename != "..") { //文件夹文件名字为'.'和‘..’,不要对他们进行操作
                    if(is_dir($path . $filename)) { // 如果读取的某个对象是文件夹,则递归
                        self::addFileToZip($path . $filename . DS, $zip);
                    } else { //将文件加入zip对象
                        $zip->addFile($path.$filename);
                    }
                }
            }
            @closedir($handler);
            return ;
        }
    

    相关文章

      网友评论

          本文标题:php Zip扩展

          本文链接:https://www.haomeiwen.com/subject/hzdonftx.html