首页 > 作文

php多个不同目录打包到指定zip压缩文件

更新时间:2023-04-08 20:32:00 阅读: 评论:0

php多文件夹打包压缩

首先安装ZipArchive扩展,具体安装方法百度一下,或者直接看官方文档

ZipArchive官方文档

直接上代码,简单的调用

/* * 文件夹打包 * */    public static function addFileToZip腮红颜色($path,$zip)    {        $handler = opendir($path); //打开当前文件夹由$path指定。        while (($filename = readdir($handler)) !== fal) {            if ($filename != "." 宝宝初次上幼儿园的祝福语&& $filename != "..") {//文件夹文件名字为'.'和‘..',不要对他们进行操作                if (is_dir($path . "/" . $filename)) {// 如果读取的某个对象是文件夹,则递归                    lf::addFileToZip($path . "/" . $filename, $zip);                } el波士顿大学 { //将文件加入zip对象                    $zip->addFile($path . "/" . $filename);                }            }        }    }    /* * 文件夹打包,直接调用这个就行了 * param array $paths 需要打包的目录绝对路径,一维数组传多个目录,比如['/imgs/test1/','/imgs/test2','...'] * param $filename 保存的绝对路径文件名称。比如/data/tmp/test.zip * */    public static function  dirToZip($paths,$filename)    {        $zip = new \ZipArchive();        try {            if ($zip->open($filename, $zip::CREATE) == TRUE) {                foreach ($paths as $path){                    lf::addFileToZip($path, $zip); //调用方法,对要打包的根目录进行操作,并将ZipArchive的对象传递给方法                }                $zip->clo(); //关闭处理的zip文件            }            if(file_exists($filename)){                return ['code'=>200,'url'=>$filename,'msg'=>'success'];            }            return ['code'=>-200,'msg'=>'打包失败'];        } catch (\Exception $e) {            return ['code'=>-200,'msg'=>$e->getMessage()];        }    }

外部只需要简单调用dirToZip方法就行了

—- $paths可以是多个目录,用数组分开

本文地址:https://bl高考分数线总分读红楼梦有感800字og.csdn.net/hzthis/article/details/107488086

本文发布于:2023-04-08 20:31:58,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/91f98160c0693f5d2aedd11a43a9f157.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:php多个不同目录打包到指定zip压缩文件.doc

本文 PDF 下载地址:php多个不同目录打包到指定zip压缩文件.pdf

标签:文件夹   方法   多个   数组
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图