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:8771947!十年运维经验,帮您省钱、让您放心!
亲,如果有需要,先存起来,方便以后再看啊!加入收藏夹的话,按Ctrl+D

« PHP不缓存直接输出到浏览器端 PHP使用curl执行后台异步任务 »