php 文件夹打包zip压缩包
/***@desc 生成zip压缩文件的函数**@param $dir string 需要压缩的文件夹名*@param $filename string 压缩后的zip文件名 包括zip后缀*@param $missfile array 不需要的文件*@param $fromString array 自定义压缩文件*/ public function zip($dir,$filename,$missfile=array(),$addfromString=array()) {$profixPath = substr($filename,0,5);if(!file_exists($dir) || !is_dir($dir)){die(' can not exists dir '.$dir);}if(strtolower(end(explode('.',$filename))) != 'zip'){die('only Support zip files');}$dir = str_replace('\\','/',$dir);$filename = str_replace('\\','/',$filename);$filename = iconv('utf-8','gb2312',$filename);if(file_exists($filename)){die('the zip file '.$filename.' has exists !');}if (!is_dir($profixPath)){mkdir($profixPath);}$files = array();$this->getfiles($dir,$files);$files = $this->array_iconv($files);if(empty($files)){die(' the dir is empty');}$zip = new \ZipArchive();$res = $zip->open($filename, \ZipArchive::CREATE);if ($res === TRUE) {foreach($files as $v){if(!in_array(str_replace($dir.'/','',$v),$missfile)){$zip->addFile($v,str_replace($dir.'/','./',$v));}}if(!empty($addfromString)){foreach($addfromString as $v){$zip->addFromString($v[0],$v[1]);}}$zip->close();echo 'ok';} else {echo 'failed';} } //定义图片字符集 public function array_iconv($data, $in_charset='GBK', $out_charset='UTF-8') {if (!is_array($data)) {$output = iconv($in_charset, $out_charset, $data);} elseif (count($data) === count($data, 1)) {//判断是否是二维数组foreach ($data as $key => $value) {$output[$key] = iconv($in_charset, $out_charset, $value);}} else {eval_r('$output = ' . iconv($in_charset, $out_charset, var_export($data, TRUE)) . ';');}return $output; }public function getfiles($dir,&$files=array()) {if(!file_exists($dir) || !is_dir($dir)){return mkdir($dir);}if(substr($dir,-1)=='/'){$dir = substr($dir,0,strlen($dir)-1);}$_files = scandir($dir);foreach($_files as $v){if($v != '.' && $v!='..'){if(is_dir($dir.'/'.$v)){$this->getfiles($dir.'/'.$v,$files);} else {$files[] = $dir.'/'.$v;}}}return $files; }
php 文件夹打包zip压缩包相关推荐
- php将文件夹打包zip文件,php将文件夹打包成zip文件
php将文件夹打包成zip文件:function addFileToZip($path,$zip){ $handler=opendir($path); //打开当前文件夹由$path指定. while ...
- js多文件下载和多文件分文件夹打包下载并重命名
js多文件下载并重命名 let list=['...'] function downloadFile(list,index){//下载文件方法if(index>=list.length){ret ...
- 前端提效 Magic,导出多个Excel文件并打包为压缩包下载
本篇文章主要介绍使用 exceljs.file-saver.jszip实现下载包含多层级文件夹.多个 excel.每个 excel 支持多个 sheet 的 zip 压缩包. 上一篇文章:前端复杂表格 ...
- 批量将很多文件夹打包压缩成多个ZIP和7z压缩包文件
概要:我们有时候需要将很多不同类型的文件夹单独打包成一个 ZIP 压缩包或者单独的打包成一个 7z 压缩包,我们一个一个处理的话比较慢,但是有没有一种批量将文件夹转成 ZIP 和 7z 压缩包的方法呢 ...
- linux将某个文件夹打包为zip文件
将当前目录下的PocTest文件夹打包成PocTest.zip: zip -q -r PocTest.zip PocTest/
- php 文件夹打包_php将文件夹打包成zip文件
php将文件夹打包成zip文件:function addFileToZip($path,$zip){ $handler=opendir($path); //打开当前文件夹由$path指定. while ...
- java 把文件打包成zip文件_java将文件或是文件夹打包压缩成zip格式
导读热词 下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. import java.io.BufferedInputStream; impo ...
- Java实现文件夹打包
导语 接到一个需求,说是要把文件夹打包成成zip包,还要求使用Java代码来实现,想想既然是工具类,那么就来编写一个工具来试试. 废话不多说直接上代码 import java.io.Buffere ...
- linux将目录打包压缩,linux 文件夹打包、解压命令大全
TAR压缩tar -zcvf /data/backup.tar.gz /wwwroot tar -zcvf 打包后生成的文件名全路径 要打包的目录 以上的例子:把/wwwroot文件夹打包 ...
最新文章
- python 调用linux命令-Python执行Linux系统命令的4种方法
- Markdwon中多张图片的并排显示(Mardown的灵动使用技巧)
- Android 百度地图之全局搜索周边搜索全国搜索城市路线规划(升级版附源码)
- 当安全遇到大数据 “永恒之蓝”也将无所遁形!
- 华为Mate 40系列最新渲染图曝光:依旧双开孔瀑布屏 实体音量键回归
- 关于局部变量的几个难点
- java string 最大长度_我说我精通字符串,面试官竟然问我Java中的String有没有长度限制!?...
- Linux系统为docker配置镜像加速器
- ASO优化方法_获取ASO关键词指数接口
- Android常用框架
- 微信小程序 简单动画入门
- Logic unifying接收器 绑定与取消 重新关联
- Monte Carlo Method
- Hexo博客配置笔记
- linux上设置别名alias(快速便捷打开文件)
- Cornfields
- Firefox使用wingate代理上网的问题
- 笔记本整机性能测试软件,整机性能测试
- 数人云开源Mesos调度器Swan
- 移动硬盘插笔记本上不显示盘符,并灯光闪烁发出咯吱声,设备管理器中可见,别的机器上可以正常使用