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 相关文章推荐
用PHP调用数据库的存贮过程!
Oct 09 PHP
SMARTY学习手记
Jan 04 PHP
PHP 压缩文件夹的类代码
Nov 05 PHP
PHP统计目录下的文件总数及代码行数(去除注释及空行)
Jan 17 PHP
PHP中return 和 exit 、break和contiue 区别与用法
Apr 09 PHP
php中sprintf与printf函数用法区别解析
Feb 17 PHP
PHP实现视频文件上传完整实例
Aug 28 PHP
php+xml实现在线英文词典之添加词条的方法
Jan 23 PHP
php使用cookie实现记住用户名和密码实现代码
Apr 27 PHP
初识PHP中的Swoole
Apr 05 PHP
PHP Header失效的原因分析及解决方法
Nov 16 PHP
详解PHP 二维数组排序保持键名不变
Mar 06 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
php实现可以设置中奖概率的抽奖程序代码分享
2014/01/19 PHP
php+mysql数据库实现无限分类的方法
2014/12/12 PHP
PHP 实现的将图片转换为TXT
2015/10/21 PHP
ThinkPHP框架下微信支付功能总结踩坑笔记
2019/04/10 PHP
javascript浏览器窗口之间传递数据的方法
2015/01/20 Javascript
html的DOM中Event对象onabort事件用法实例
2015/01/21 Javascript
js实现图片淡入淡出切换简易效果
2016/08/22 Javascript
浅谈js对象的创建和对6种继承模式的理解和遐想
2016/10/16 Javascript
基于JS分页控件实现简单美观仿淘宝分页按钮效果
2016/11/07 Javascript
Vim快速合并行及vim 将文件所有行合并到一行
2017/11/27 Javascript
浅谈redux以及react-redux简单实现
2018/08/28 Javascript
Vue 框架之键盘事件、健值修饰符、双向数据绑定
2018/11/14 Javascript
JS基于开关思想实现的数组去重功能【案例】
2019/02/18 Javascript
webpack-mvc 传统多页面组件化开发详解
2019/05/07 Javascript
React组件设计模式之组合组件应用实例分析
2020/04/29 Javascript
[02:15]2014DOTA2国际邀请赛 专访LGD.lin小兔子是大腿
2014/07/14 DOTA
python使用正则表达式的search()函数实现指定位置搜索功能
2017/11/10 Python
Python实现的用户登录系统功能示例
2018/02/05 Python
使用python编写udp协议的ping程序方法
2018/04/22 Python
python程序变成软件的实操方法
2019/06/24 Python
Django中使用CORS实现跨域请求过程解析
2019/08/05 Python
python实现的批量分析xml标签中各个类别个数功能示例
2019/12/30 Python
Python统计学一数据的概括性度量详解
2020/03/03 Python
使用Python爬取Json数据的示例代码
2020/12/07 Python
Python中正则表达式对单个字符,多个字符和匹配边界等使用
2021/01/27 Python
CSS3的新特性介绍
2008/10/31 HTML / CSS
高清安全摄像头系统:Lorex Technology
2018/07/20 全球购物
网络工程与软件技术毕业生自荐信
2013/09/24 职场文书
高中生学习总结的自我评价范文
2013/10/13 职场文书
趣味运动会广播稿
2014/09/13 职场文书
装修公司工程部经理岗位职责
2015/04/09 职场文书
企业安全隐患排查治理制度
2015/08/05 职场文书
手把手教你制定暑期学习计划,让你度过充实的暑假
2019/08/22 职场文书
Python移位密码、仿射变换解密实例代码
2021/06/27 Python
PostGIS的安装与入门使用指南
2022/01/18 PostgreSQL
《战锤40K:暗潮》跳票至9月 公布新宣传片
2022/04/03 其他游戏