php生成zip文件类实例


Posted in PHP onApril 07, 2015

本文实例讲述了php生成zip文件类。分享给大家供大家参考。具体如下:

<?php
 /*
  By:   Matt Ford
  Purpose: Basic class to create zipfiles
 */
class zipFile {
 public $files = array();
 public $settings = NULL;
 public $fileInfo = array (
   "name" => "",
   "numFiles" => 0,
   "fullFilePath" => ""
  );
 private $fileHash = "";
 private $zip = "";
 public function __construct($settings) {
  $this->zipFile($settings);
 }
 public function zipFile($settings) {
  $this->zip = new ZipArchive();
  $this->settings = new stdClass();
  foreach ($settings as $k => $v) {
   $this->settings->$k = $v;
  }
 }
 public function create() {
  $this->fileHash = md5(implode(",", $this->files));
  $this->fileInfo["name"] = $this->fileHash . ".zip";
  $this->fileInfo["numFiles"] = count($this->files);
  $this->fileInfo["fullFilePath"] = $this->settings->path . 
  "/" . $this->fileInfo["name"];
  if (file_exists($this->fileInfo["fullFilePath"])) {
   return array (
     false,
     "already created: " . $this->fileInfo["fullFilePath"]
     );
  }
  else {
   $this->zip->open($this->fileInfo["fullFilePath"], ZIPARCHIVE::CREATE);
   $this->addFiles();
   $this->zip->close();
   return array (
     true,
     "new file created: " . $this->fileInfo["fullFilePath"]
     );
  }
 }
 private function addFiles() {
  foreach ($this->files as $k) {
   $this->zip->addFile($k, basename($k));
  }
 }
}
$settings = array (
  "path" => dirname(__FILE__)
 );
$zipFile = new zipFile($settings);
$zipFile->files = array (
  "./images/navoff.jpg",
  "./images/navon.jpg"
 );
list($success, $error) = $zipFile->create();
if ($success === true) {
 //success
}
else {
 //error because: $error
}
?>

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

PHP 相关文章推荐
超强分页类2.0发布,支持自定义风格,默认4种显示模式
Jan 02 PHP
15种PHP Encoder的比较
Mar 06 PHP
在同一窗体中使用PHP来处理多个提交任务
May 08 PHP
php 缩略图实现函数代码
Jun 23 PHP
php FLEA中二叉树数组的遍历输出
Sep 26 PHP
利用curl 多线程 模拟 并发的详解
Jun 14 PHP
PHP中的str_repeat函数在JavaScript中的实现
Sep 16 PHP
php定义参数数量可变的函数用法实例
Mar 16 PHP
php+mysql实现简单的增删改查功能
Jul 13 PHP
PHP读MYSQL中文乱码的快速解决方法
Oct 01 PHP
PHP针对中英文混合字符串长度判断及截取方法示例
Mar 31 PHP
Laravel (Lumen) 解决JWT-Auth刷新token的问题
Oct 24 PHP
php生成图片缩略图的方法
Apr 07 #PHP
Nginx下配置codeigniter框架方法
Apr 07 #PHP
Windows下Apache + PHP SESSION丢失的解决过程全纪录
Apr 07 #PHP
php修改文件上传限制方法汇总
Apr 07 #PHP
windows下安装php的memcache模块的方法
Apr 07 #PHP
CodeIgniter删除和设置Cookie的方法
Apr 07 #PHP
php获取网页里所有图片并存入数组的方法
Apr 06 #PHP
You might like
DIY实用性框形天线
2021/03/02 无线电
PHP n个不重复的随机数生成代码
2009/06/23 PHP
深入PHP empty(),isset(),is_null()的实例测试详解
2013/06/06 PHP
php计算两个日期时间差(返回年、月、日)
2014/06/19 PHP
PHP7 参数处理机制修改
2021/03/09 PHP
Javascript在IE或Firefox下获取鼠标位置的代码
2009/12/18 Javascript
javascript 获取页面的高度及滚动条的位置的代码
2010/05/06 Javascript
javascript中的prototype属性实例分析说明
2010/08/09 Javascript
JavaScript性能陷阱小结(附实例说明)
2010/12/28 Javascript
Jquery 切换不同图片示例代码
2013/12/05 Javascript
js出生日期 年月日级联菜单示例代码
2014/01/10 Javascript
jQuery中的jQuery()方法用法分析
2014/12/27 Javascript
js获取客户端操作系统类型的方法【测试可用】
2016/05/27 Javascript
javascript正则表达式之分组概念与用法实例
2016/06/16 Javascript
jQuery设置单选按钮radio选中/不可用的实例代码
2016/06/24 Javascript
使用do...while的方法输入一个月中所有的周日(实例代码)
2016/07/22 Javascript
js 获取元素的具体样式信息getcss(实例讲解)
2017/07/05 Javascript
Three.js基础学习之场景对象
2017/09/27 Javascript
详解node+express+ejs+bootstrap构建项目
2017/09/27 Javascript
详解基于webpack&amp;gettext的前端多语言方案
2019/01/29 Javascript
vue实现表单录入小案例
2019/09/27 Javascript
python读取word文档的方法
2015/05/09 Python
Python爬取附近餐馆信息代码示例
2017/12/09 Python
Python简单生成随机姓名的方法示例
2017/12/27 Python
一个简单的python爬虫程序 爬取豆瓣热度Top100以内的电影信息
2018/04/17 Python
对python自动生成接口测试的示例讲解
2018/11/30 Python
python pands实现execl转csv 并修改csv指定列的方法
2018/12/12 Python
Python解释器及PyCharm工具安装过程
2020/02/26 Python
python和js交互调用的方法
2020/06/23 Python
保险专业大学生职业规划书
2014/03/03 职场文书
网络管理专业求职信
2014/03/15 职场文书
服务标兵事迹材料
2014/05/04 职场文书
党员批评与自我批评材料
2014/10/14 职场文书
2014年销售部工作总结
2014/12/01 职场文书
新课程改革心得体会
2016/01/22 职场文书
alibaba seata服务端具体实现
2022/02/24 Java/Android