php怎么压缩文件夹,PHP压缩文件夹 php
$path = PUBLIC_DIR.'/images/'; //待压缩文件夹父目录
$zipPath = PUBLIC_DIR.'/images_zip/'; //压缩文件保存目录
!is_dir($zipPath) ? mkdir($zipPath, 0755, true) : '';
// Initialize archive object
$zip = new ZipArchive();
$dir_list = scandir($path);
if (empty($dir_list)) {
return false;
}
foreach($dir_list as $dir_name) {
if ($dir_name == '.' || $dir_name == '..') {
continue;
}
$dir_path = $path.$dir_name; //待压缩目录
if (!is_dir($dir_path)) {
continue;
}
$zipFile = $zipPath.$dir_name.'.zip'; //压缩包名称
$zip->open($zipFile, ZipArchive::CREATE | ZipArchive::OVERWRITE);
$file_list = scandir($dir_path); //文件名
foreach ($file_list as $file_name) {
if ($file_name == '.' || $file_name == '..') {
continue;
}
$zip->addFile($dir_path.'/'.$file_name, $file_name); //第二个参数使压缩文件名为待压缩文件原名(否则压缩包里会有多级目录)
}
$zip->close();
}
待压缩文件夹:
压缩后压缩包:
打开压缩包看效果:
php怎么压缩文件夹,PHP压缩文件夹 php相关推荐
- java压缩----使用ANT JDK压缩---只压缩选中目录的指定文件夹
写在前面的话:使用ANT中的压缩功能在很多文章中都有,但是只能压缩指定目录的全部文件或者文件夹,在项目中,经常有这样的需求:只压缩指定目录的部分文件夹, 用过ant.xml 的人都很容易想到 file ...
- linux下 java 压缩文件夹,java压缩文件夹linux下乱码问题
前几天写了文章介绍java文件夹的压缩(见 http://zwllxs.iteye.com/blog/836483),但是发现一个问题,在linux下,如果文件夹内的文件是中文名,那么压缩后,这些文件 ...
- python生成文件夹以及压缩文件夹
''' @Description 生成文件夹 @params (path) 文件夹路径 @params (title) 文件名称 @params (content) html 文件代码 @params ...
- unity3d 压缩文件夹和压缩文件
直接开始,不扯淡 1:下载名字为< Ionic.zip >的压缩包,将里面的< Ionic.Zip.dll >放到unity3d的Plugins文件夹下. ...
- 解决winrar压缩文件或文件夹时,文件拒绝访问问题
一.问题描述 使用winrar压缩文件或文件夹时,会弹出"文件拒绝访问"问题,如下图: 二.解决方法 1.对于单个文件,进入文件属性进行以下设置(图中步骤1可省略): 2.对于文件 ...
- Java实现zip文件压缩:单个文件、文件夹以及文件和文件夹的压缩
// 测试 ZipUtil.zipFiles(new File("D:/abc"), new File("a123.zip")); import java.io ...
- linux 打包压缩文件夹命令/压缩文件
一.打包压缩 例子:把www.xx.com文件夹打包压缩xx.zip文件,并指定放到/www/wwwroot/www.xx.com/中 zip -r /www/wwwroot/www.xx.com/x ...
- Ubuntu 下大文件夹分卷压缩
Ubuntu 下大文件夹分卷压缩 由于android源码比较大,直接上传百度云盘又有文件大小限制,因此,分卷压缩尤其重要 ref : http://blog.csdn.net/baggio1006/a ...
- 从零開始学习制作H5应用——V5.0:懊悔机制,整理文件夹,压缩,模板化
经过前面四个版本号的迭代.我们已经制作了一个从视觉和听觉上都非常舒服的H5微场景应用,没有看过的请戳以下: V1.0--简单页面滑动切换 V2.0--多页切换.透明过渡及交互指示 V3.0--增加lo ...
最新文章
- OTP gen_server
- 群体智能,多个机器人协同搬运!
- easyswoole数据库连接池_如何在 Swoole 中优雅的实现 MySQL 连接池
- Taro+react开发(86):资源文件处理
- layui 在springboot2.x 时,页面展示不了layui的问题
- 自学java编译老是出错_为什么按照书上的代码,编译老是出错?
- 创建Variant数组
- linux编译后 空间不足,Linux系统/run/systemd空间不足问题解决
- idea解決tomcat乱码问题
- Excel易用宝-安装与激活
- 三种方法帮你恢复删除的文件
- elixir元编程的quote与unquote
- 高效工作节省时间的一些小技巧
- eclipse 自动生成注释 @author
- 电信光纤猫虚拟服务器设置方法,电信光纤猫与无线路由器连接的设置方法
- 【opencv】支付宝AR实景红包领取方法
- 电阻为何是标准的及各精度的标准阻值表
- 关于互联网公司的加班制度,我想说点心里话
- mac安装psycopg2报错
- 超轻型飞机 - 蟋蟀,世界上最小的双引擎载人飞机!
热门文章
- icraft服务器网页图片,iCraft家族添新一代顶级显卡
- iOS开发中Touch ID的使用
- 第十一届蓝桥杯省赛:纪念日
- t3计算机名带特殊符号,带特殊符号的网名,带特殊符号的网名
- android binder - 客户端(c++层) 调用 服务端(java层),服务端回调客户端 例子
- Interlocked.Increment 方法 和Interlocked.Decrement 方法作用
- ios直播开发基础,推流协议及流程
- USB(九)2022-03-01
- 《Head First 设计模式》例子的C++实现(4 单件模式)
- C语言——动态开辟内存空间的函数