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 相关文章推荐
实用函数10
Nov 08 PHP
PHP源码之 ext/mysql扩展部分
Jul 17 PHP
解析PHP函数array_flip()在重复数组元素删除中的作用
Jun 27 PHP
php生成唯一的订单函数分享
Feb 02 PHP
MacOS 安装 PHP的图片裁剪扩展Tclip
Mar 25 PHP
php reset() 函数指针指向数组中的第一个元素并输出实例代码
Nov 21 PHP
PHP用函数嵌入网站访问量计数器
Oct 27 PHP
Laravel 5.4.36中session没有保存成功问题的解决
Feb 19 PHP
PHP fclose函数用法总结
Feb 15 PHP
PHP自动生成缩略图函数的源码示例
Mar 18 PHP
PHP goto语句用法实例
Aug 06 PHP
在 Laravel 中动态隐藏 API 字段的方法
Oct 25 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操作符与控制结构代码
2011/12/30 PHP
Linux Apache PHP Oracle 安装配置(具体操作步骤)
2013/06/17 PHP
Laravel框架中Blade模板的用法示例
2017/08/30 PHP
PHP实现的操作数组类库定义与用法示例
2019/05/24 PHP
不用写JS也能使用EXTJS视频演示
2008/12/29 Javascript
裁剪字符串trim()自定义改进版
2013/04/10 Javascript
7款吸引人眼球的jQuery/CSS3特效实例分享
2013/04/25 Javascript
Javascript显示和隐藏ul列表的方法
2015/07/15 Javascript
JavaScript数组的栈方法与队列方法详解
2016/05/26 Javascript
jqueryMobile 动态添加元素,展示刷新视图的实现方法
2016/05/28 Javascript
Bootstrap 实现查询的完美方法
2016/10/26 Javascript
Javascript Event(事件)的传播与冒泡
2017/01/23 Javascript
node.js入门教程之querystring模块的使用方法
2017/02/27 Javascript
基于Vue的文字跑马灯组件(npm 组件包)
2017/05/24 Javascript
Vue-Cli中自定义过滤器的实现代码
2017/08/12 Javascript
微信小程序实现YDUI的ScrollNav组件
2018/02/02 Javascript
微信小程序云开发详细教程
2019/05/16 Javascript
JS实现简易留言板特效
2019/12/23 Javascript
vue中activated的用法
2021/01/03 Vue.js
介绍Python的Urllib库的一些高级用法
2015/04/30 Python
Python遍历pandas数据方法总结
2018/02/09 Python
解决tensorflow模型参数保存和加载的问题
2018/07/26 Python
Python DataFrame一列拆成多列以及一行拆成多行
2019/08/06 Python
python异常触发及自定义异常类解析
2019/08/06 Python
Python常用编译器原理及特点解析
2020/03/23 Python
django自带的权限管理Permission用法说明
2020/05/13 Python
selenium与xpath之获取指定位置的元素的实现
2021/01/26 Python
阿玛尼美国官方网站:Armani.com
2016/11/25 全球购物
日本最大的药妆连锁店:Matsukiyo松本清药妆店
2017/11/23 全球购物
物理力学求职信
2014/02/18 职场文书
机关门卫的岗位职责
2014/04/29 职场文书
大气污染防治方案
2014/05/19 职场文书
党的群众路线教育实践活动宣传标语口号
2014/06/06 职场文书
离退休人员聘用协议书
2014/11/24 职场文书
先进党支部事迹材料2016
2016/02/26 职场文书
Python matplotlib安装以及实现简单曲线的绘制
2022/04/26 Python