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 相关文章推荐
一个可以找出源代码中所有中文的工具
Oct 25 PHP
在命令行下运行PHP脚本[带参数]的方法
Jan 22 PHP
php 在文件指定行插入数据的代码
May 08 PHP
单台服务器的PHP进程之间实现共享内存的方法
Jun 13 PHP
php中使用array_filter()函数过滤空数组的实现代码
Aug 19 PHP
PHP采用自定义函数实现遍历目录下所有文件的方法
Aug 19 PHP
ThinkPHP内置jsonRPC的缺陷分析
Dec 18 PHP
php中session与cookie的比较
Jan 27 PHP
PHP多线程之内部多线程实例分析
Mar 09 PHP
PHP 错误处理机制
Jul 06 PHP
WAF的正确bypass
Jan 05 PHP
PHP微信开发之微信录音临时转永久存储
Jan 26 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实现自动获取生成文章主题关键词功能的深入分析
2013/06/03 PHP
10个php函数实用却不常见
2015/10/13 PHP
深入浅析用PHP实现MVC
2016/03/02 PHP
浅谈PHP的反射机制
2016/12/15 PHP
实例讲解YII2中多表关联的使用方法
2017/07/21 PHP
PHP远程连接oracle数据库操作实现方法图文详解
2019/04/11 PHP
利用Dojo和JSON建立无限级AJAX动态加载的功能模块树
2007/03/24 Javascript
js使用循环清空某个div中的input标签值
2014/09/29 Javascript
JavaScript闭包详解
2015/02/02 Javascript
jQuery中$this和$(this)的区别介绍(一看就懂)
2015/07/06 Javascript
js实现仿Discuz文本框弹出层效果
2015/08/13 Javascript
js实现兼容IE、Firefox的图片缩放代码
2015/12/08 Javascript
浅析JavaScript中命名空间namespace模式
2016/06/22 Javascript
利用原生js和jQuery实现单选框的勾选和取消操作的方法
2016/09/04 Javascript
JS实现上传图片的三种方法并实现预览图片功能
2017/07/14 Javascript
webpack配置sass模块的加载的方法
2017/07/30 Javascript
JS设计模式之状态模式概念与用法分析
2018/02/05 Javascript
vue中Axios的封装与API接口的管理详解
2018/08/09 Javascript
微信小程序按顺序同步执行的两种方式
2019/12/20 Javascript
Vue.js中的高级面试题及答案
2020/01/13 Javascript
vue.js实现照片放大功能
2020/06/23 Javascript
jQuery实现图片切换效果
2020/10/19 jQuery
[01:37]TI4西雅图DOTA2前线报道 VG拿下首胜教练357给出获胜秘诀
2014/07/10 DOTA
python执行外部程序的常用方法小结
2015/03/21 Python
深入解析Python中的线程同步方法
2016/06/14 Python
python多进程实现进程间通信实例
2017/11/24 Python
Windows 64位下python3安装nltk模块
2018/09/19 Python
用Python实现大文本文件切割的方法
2019/01/12 Python
Python考拉兹猜想输出序列代码实践
2019/07/05 Python
css3中用animation的steps属性制作帧动画
2019/04/25 HTML / CSS
html5将图片转换成base64的实例代码
2016/09/21 HTML / CSS
安全生产网格化管理实施方案
2014/03/01 职场文书
2015年元旦活动总结
2014/05/09 职场文书
绿色环保口号
2014/06/12 职场文书
小学生教师节广播稿
2015/08/19 职场文书
Apache Kafka 分区重分配的实现原理解析
2022/07/15 Servers