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()]; } }
—- $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 条评论) |