php调用zip压缩一个文件夹


关键词

PHP ZIP 压缩 文件夹

摘要

PHP调用ZipArchive来压缩文件或文件夹,效果一般,已测试基本可用。

代码如下:

function z_addDir2Zip($dir, $zip){
    $handler = opendir($dir); //打开当前文件夹由$dir指定
    while(( $filename = readdir($handler) ) !== false ){
        if($filename != "." && $filename != ".."){//文件夹文件名字为'.'和‘..',不要对他们进行操作
            if(is_dir( $dir . '/' . $filename )){// 如果读取的某个对象是文件夹,则递归
                z_addDir2Zip( $dir . "/" . $filename, $zip);
            }else{ //将文件加入zip对象
                $zip->addFile($dir."/".$filename);
            }
        }
    }
    @closedir($dir);
}

function z_zipdir( $dir, $zipfile ){
    $zip = new ZipArchive();
    if($zip->open($zipfile, ZipArchive::OVERWRITE)=== TRUE){
        z_addDir2Zip( $dir, $zip ); //调用方法,对要打包的根目录进行操作,并将ZipArchive的对象传递给方法
        $zip->close(); //关闭处理的zip文件
    }
}

最后压缩出来的zip文件,点开之后会看到有可能包含了几级目录。比如你压缩的abc/cde/fgh目录,则在压缩包里面也会看到这三级目录。

 

文章的版权

洪哥写文章很苦逼,如果本文对您略有帮助,点击感兴趣的广告支持洪哥!万分感谢!本文属于“洪哥笔记”原创文章,转载请注明来源地址:php调用zip压缩一个文件夹:http://www.splaybow.com/post/php-zip-189036.html

关注与收藏

如果您在服务器运维、网络管理、网站或系统开发过程有需要提供收费服务,请加QQ:115085382!十年运维经验,帮您省钱、让您放心!
亲,如果有需要,先存起来,方便以后再看啊!加入收藏夹的话,按Ctrl+D


« PHP不缓存直接输出到浏览器端

相关文章:

PHP不缓存直接输出到浏览器端  (2017/12/21 7:14:23)

PHP中is_empty、is_null、isset的区别  (2017/9/21 7:44:11)

PHP生成GUID  (2017/9/6 7:39:17)

Windows下PHPWord 报错 Could not close zip file  (2017/6/9 7:09:22)

ThinkPHP解决搜索中文翻页后条件失效的问题  (2017/8/21 7:20:36)

PHP自定义函数z_ret  (2017/8/11 7:00:30)

二叉树、N叉树寻找上级结点  (2017/7/5 7:07:43)

PHP魔术常量__FILE__  (2017/7/11 7:21:53)

PHP魔术常量__DIR__  (2017/6/25 7:16:02)

PHP删除文件夹下指定时间前创建的文件  (2017/6/21 7:57:02)