-
09-06
-
12-27
-
01-08
-
12-31
-
12-31
PHP一键打包文件夹内文件实现
发布时间:2021-01-08 10:39:26
文章来源:原创
访问次数:74
实现代码
//在指定路径创建一个空的压缩包 例如 当前路径 创建 pack.zip // 获取压缩文件清单 $fileList = file_list(__DIR__."/temp/img"); // 打包文件名称 $_filename = date('YmdHis') . '.zip'; // 打包文件保存路径 $filename = __DIR__ .'/temp/'. $_filename; // 如果复制空压缩包成功则加入压缩文件 if (copyFile(__DIR__ . '/pack.zip', $filename)) { // 实例化压缩类 $zip = new \ZipArchive(); // 打开压缩包 if ($zip->open($filename, \ZipArchive::CREATE)) { foreach ($fileList as $file) { //向压缩包中添加文件 $zip->addFile($file, basename($file)); } //关闭压缩包 $zip->close(); exit('打包完成'); } else { exit('打包失败'); } } else { exit('压缩包创建失败'); } //自定义方法补充 // 获取所有文件夹 function file_list($path, $complete = true) { //设置空数组 $arr = array(); //判断文件是否存在 if (is_file($path)) { } else { //判断是否是路径 if (is_dir($path)) { //获取目录下所有文件和目录 $data = scandir($path); //判断是否为空 if (!empty($data)) { //循环取出文件 foreach ($data as $value) { //过滤特殊文件 if ($value != '.' && $value != '..') { //判断是返回完整路径还是仅文件名 if ($complete) { $sub_path = $path . "/" . $value; } else { $sub_path = $value; } //判断是否存在二级目录 if (is_dir($sub_path)) { //递归二级目录文件 $temp = file_list($sub_path); $arr = array_merge($temp, $arr); } else { $arr = array_merge([$sub_path], $arr); } } } } } } //返回数据 return $arr; } // 复制文件 function copyFile($filepath, $tofilepath) { //复制文件地址 复制文件到地址 return copy($filepath, $tofilepath); }
本文链接:https://www.928118.com/php/54.html
文章评论
共 0 条评论,查看全部
- 这篇文章还没有收到评论,赶紧来抢沙发吧~
最新资讯