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中进行身份认证
Oct 09 PHP
推荐一篇入门级的Class文章
Mar 19 PHP
php 无限级分类学习参考之对ecshop无限级分类的解析 带详细注释
Mar 23 PHP
防止本地用户用fsockopen DDOS攻击对策
Nov 02 PHP
php验证是否是md5编码的简单代码
Apr 01 PHP
php生成图片验证码
Jun 09 PHP
微信公众号开发之文本消息自动回复php代码
Aug 08 PHP
php从身份证获取性别和出生年月
Feb 09 PHP
Symfony查询方法实例小结
Jun 28 PHP
Yii2.0多文件上传实例说明
Jul 24 PHP
PHP实用小技巧之调用录像的方法
Dec 05 PHP
php png失真的原因及解决办法
Oct 24 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
smarty模板嵌套之include与fetch性能测试
2010/12/05 PHP
php实现cookie加密的方法
2015/03/10 PHP
PHP socket 模拟POST 请求实例代码
2016/07/18 PHP
PHP实现关键字搜索后描红功能示例
2019/07/03 PHP
js传值 判断
2006/10/26 Javascript
DOM相关内容速查手册
2007/02/07 Javascript
使用js获取QueryString的方法小结
2010/02/28 Javascript
根据一段代码浅谈Javascript闭包
2010/12/14 Javascript
img onload事件绑定各浏览器均可执行
2012/12/19 Javascript
jquery自定义函数的多种方法
2014/01/09 Javascript
jquery.ajax之beforeSend方法使用介绍
2014/12/08 Javascript
node.js中的fs.realpathSync方法使用说明
2014/12/16 Javascript
javascript 事件处理示例分享
2014/12/31 Javascript
浅谈jQuery的offset()方法及示例分享
2015/07/17 Javascript
jQuery实现鼠标经过时高亮,同时其他同级元素变暗的效果
2016/09/18 Javascript
javascript学习笔记_浅谈基础语法,类型,变量
2016/09/19 Javascript
Javascript快速实现浏览器系统通知
2017/08/26 Javascript
原生JS实现 MUI导航栏透明渐变效果
2017/11/07 Javascript
微信小程序异步处理详解
2017/11/10 Javascript
angular实现页面打印局部功能的思考与方法
2018/04/13 Javascript
vue.js通过路由实现经典的三栏布局实例代码
2018/07/08 Javascript
利用Node.js如何实现文件循环覆写
2019/04/05 Javascript
小程序rich-text组件如何改变内部img图片样式的方法
2019/05/22 Javascript
python使用urllib2实现发送带cookie的请求
2015/04/28 Python
Python根据文件名批量转移图片的方法
2018/10/21 Python
python匿名函数用法实例分析
2019/08/03 Python
Python绘图之二维图与三维图详解
2020/08/04 Python
python 根据列表批量下载网易云音乐的免费音乐
2020/12/03 Python
css3 pointer-events 介绍详解
2017/09/18 HTML / CSS
浅谈html5增强的页面元素
2016/06/14 HTML / CSS
小学教师师德感言
2014/02/10 职场文书
秘书英文求职信
2014/04/16 职场文书
我的教育故事演讲稿
2014/05/04 职场文书
县委常委班子专题民主生活会查摆问题及整改措施
2014/09/27 职场文书
2015年大学生实习评语
2015/03/25 职场文书
postgresql之greenplum字符串去重拼接方式
2023/05/08 PostgreSQL