php简单创建zip压缩文件的方法


Posted in PHP onApril 30, 2016

本文实例讲述了php简单创建zip压缩文件的方法。分享给大家供大家参考,具体如下:

/* creates a compressed zip file */
function create_zip($files = array(),$destination = '',$overwrite = false) {
  //if the zip file already exists and overwrite is false, return false
  if(file_exists($destination) && !$overwrite) { return false; }
  //vars
  $valid_files = array();
  //if files were passed in...
  if(is_array($files)) {
    //cycle through each file
    foreach($files as $file) {
      //make sure the file exists
      if(file_exists($file)) {
        $valid_files[] = $file;
      }
    }
  }
  //if we have good files...
  if(count($valid_files)) {
    //create the archive
    $zip = new ZipArchive();
    if($zip->open($destination,$overwrite ? ZIPARCHIVE::OVERWRITE : ZIPARCHIVE::CREATE) !== true) {
      return false;
    }
    //add the files
    foreach($valid_files as $file) {
      $zip->addFile($file,$file);
    }
    //debug
    //echo 'The zip archive contains ',$zip->numFiles,' files with a status of ',$zip->status;
    //close the zip -- done!
    $zip->close();
    //check to make sure the file exists
    return file_exists($destination);
  }
  else
  {
    return false;
  }
}

使用方法:

$files_to_zip = array(
  'preload-images/1.jpg',
  'preload-images/2.jpg',
  'preload-images/5.jpg',
  'kwicks/ringo.gif',
  'rod.jpg',
  'reddit.gif'
);
//if true, good; if false, zip creation failed
$result = create_zip($files_to_zip,'my-archive.zip');

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
在php中使用sockets:从新闻组中获取文章
Oct 09 PHP
基于AppServ,XAMPP,WAMP配置php.ini去掉警告信息(NOTICE)的方法详解
May 07 PHP
8个必备的PHP功能实例代码
Oct 27 PHP
thinkphp的CURD和查询方式介绍
Dec 19 PHP
强制PHP命令行脚本单进程运行的方法
Apr 15 PHP
yii操作session实例简介
Jul 31 PHP
php+mysqli实现批量执行插入、更新及删除数据的方法
Jan 29 PHP
fsockopen pfsockopen函数被禁用,SMTP发送邮件不正常的解决方法
Sep 20 PHP
PHP+MySQL统计该库中每个表的记录数并按递减顺序排列的方法
Feb 15 PHP
基于CI框架的微信网页授权库示例
Nov 25 PHP
asp函数split()对应php函数explode()
Feb 27 PHP
PHP判断当前使用的是什么浏览器(推荐)
Oct 27 PHP
Yii2 rbac权限控制操作步骤实例教程
Apr 29 #PHP
PHP.vs.JAVA
Apr 29 #PHP
Yii实现简单分页的方法
Apr 29 #PHP
php实现在站点里面添加邮件发送的功能
Apr 28 #PHP
php提交过来的数据生成为txt文件
Apr 28 #PHP
php生成txt文件实例代码介绍
Apr 28 #PHP
100行PHP代码实现socks5代理服务器
Apr 28 #PHP
You might like
编译PHP报错configure error Cannot find libmysqlclient under usr的解决方法
2014/06/27 PHP
详解使用php调用微信接口上传永久素材
2017/04/11 PHP
利用laravel+ajax实现文件上传功能方法示例
2017/08/13 PHP
YUI 读码日记之 YAHOO.lang.is*
2008/03/22 Javascript
jquery select动态加载选择(兼容各种浏览器)
2013/02/01 Javascript
用jQuery toggleClass 实现鼠标移上变色
2014/05/14 Javascript
js 采用delete实现继承示例代码
2014/05/20 Javascript
jquery表单插件Autotab使用方法详解
2016/06/24 Javascript
javascript之IE版本检测超简单方法
2016/08/20 Javascript
JS 获取HTML标签内的子节点的方法
2016/09/21 Javascript
Vuex之理解Getters的用法实例
2017/04/19 Javascript
详解vue-router2.0动态路由获取参数
2017/06/14 Javascript
基于JavaScript实现飘落星星特效
2017/08/10 Javascript
详解微信小程序Page中data数据操作和函数调用
2017/09/27 Javascript
webpack 打包压缩js和css的方法示例
2018/03/20 Javascript
动态加载JavaScript文件的3种方式
2018/05/05 Javascript
JavaScript设计模式之职责链模式应用示例
2018/08/07 Javascript
jquery获取img的src值实例介绍
2019/01/16 jQuery
vue下载excel的实现代码后台用post方法
2019/05/10 Javascript
Jquery属性的获取/设置及样式添加/删除操作技巧分析
2019/12/23 jQuery
vue使用svg文件补充-svg放大缩小操作(使用d3.js)
2020/09/22 Javascript
python编写暴力破解zip文档程序的实例讲解
2018/04/24 Python
使用python存储网页上的图片实例
2018/05/22 Python
python爬虫URL重试机制的实现方法(python2.7以及python3.5)
2018/12/18 Python
docker django无法访问redis容器的解决方法
2019/08/21 Python
HTML5 Canvas实现玫瑰曲线和心形图案的代码实例
2014/04/10 HTML / CSS
HTML5 播放 RTSP 视频的实例代码
2019/07/29 HTML / CSS
斯洛伐克香水和化妆品购物网站:Parfemy-Elnino.sk
2020/01/28 全球购物
TCP协议通讯的过程和步骤是什么
2015/10/18 面试题
英文翻译的自我评价语句
2013/10/04 职场文书
文明教师事迹材料
2014/01/16 职场文书
法制宣传实施方案
2014/03/13 职场文书
跑操口号
2014/06/12 职场文书
辞职信范文大全
2015/03/02 职场文书
2016开学第一课心得体会
2016/01/23 职场文书
Win10鼠标宏怎么设置?win10系统鼠标宏的设置方法
2022/08/14 数码科技