$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(); }  

待压缩文件夹:

压缩后压缩包:

打开压缩包看效果:

最新文章

  1. java web学习总结(二十) -------------------监听器属性详解
  2. Dapper学习笔记(3)-增、删、改、查
  3. JavaScript为input/textarea自定义hover,focus效果
  4. hadoop中常见元素的解释
  5. Android 抽屉类SlidingDrawer的使用
  6. C#-窗体之间传递参数
  7. iBatis 的简单入门
  8. C# - openxml 操作excel - '“System.IO.Packaging.Package”在未被引用的程序集中定义'
  9. JAVA-2-GetDay
  10. transaction manager has disabled its support for remote/network transactions. 该伙伴事务管理器已经禁止了它对远程/网络事务
  11. InnoDB 逻辑存储结构
  12. C语言队列(数组内核)
  13. Android系统下app测试功能点
  14. VIM:Found a swap file by the name
  15. Windows字符集安装
  16. Oracle中dbms_random.string 的用法
  17. 教你玩转产品管理系统iClap(PC端功能篇)
  18. Python3基础 os listdir curdir pardir 查看工作目录及其上一级目录的所有文件名
  19. Awk 从入门到放弃(2)– 分隔符 学习笔记
  20. MQTT连接服务器返回2

热门文章

  1. 使script.bin文件配置生效的驱动
  2. 移植linux4.14内核到四核Exynos4412开发板
  3. ionic 打包时所遇问题记录
  4. day09-正侧表达式
  5. Python 网站后台扫描
  6. ValidationUtil
  7. Linux下安装mysql(yun方式)
  8. GBDT的理解和总结
  9. Listary快速查找文件
  10. CSS性能优化探讨