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产生随机字符串函数
Dec 06 PHP
php smarty的预保留变量总结
Dec 04 PHP
PHP 创建文件(文件夹)以及目录操作代码
Mar 04 PHP
基于PHP常用函数的用法详解
May 10 PHP
如何使用“PHP” 彩蛋进行敏感信息获取
Aug 07 PHP
php和editplus正则表达式去除空白行
Apr 17 PHP
typecho插件编写教程(三):保存配置
May 28 PHP
PHP多态代码实例
Jun 26 PHP
php实现支付宝当面付(扫码支付)功能
May 30 PHP
PHP使用反向Ajax技术实现在线客服系统详解
Jul 01 PHP
php实现的数组转xml案例分析
Sep 28 PHP
Laravel框架下载,安装及路由操作图文详解
Dec 04 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
GD输出汉字的函数的分析
2006/10/09 PHP
PHP实现的交通银行网银在线支付接口ECSHOP插件和使用例子
2014/05/10 PHP
PHP函数in_array()使用详解
2014/08/20 PHP
THINKPHP2.0到3.0有哪些改进之处
2015/01/04 PHP
php+ajax制作无刷新留言板
2015/10/27 PHP
jQuery 源码分析笔记(4) Ready函数
2011/06/02 Javascript
js控制表单奇偶行样式的简单方法
2013/07/31 Javascript
jquerymobile局部渲染的各种刷新方法小结
2014/03/05 Javascript
jQuery的3种请求方式$.post,$.get,$.getJSON
2014/03/28 Javascript
Node.js文件操作详解
2014/08/16 Javascript
JS动态创建元素的两种方法
2016/04/20 Javascript
总结Javascript中的隐式类型转换
2016/08/24 Javascript
Windows系统下安装Node.js的步骤图文详解
2016/11/15 Javascript
bootstrap日历插件datetimepicker使用方法
2016/12/14 Javascript
基于jPlayer三分屏的制作方法
2016/12/21 Javascript
JS控件bootstrap datepicker使用方法详解
2017/03/25 Javascript
浅谈gulp创建完整的项目流程
2017/12/20 Javascript
Webpack之tree-starking 解析
2018/09/11 Javascript
微信小程序实现展示评分结果功能
2019/02/15 Javascript
浅谈Vue的响应式原理
2019/05/30 Javascript
[34:41]夜魇凡尔赛茶话会 第二期02:你画我猜
2021/03/11 DOTA
纯Python开发的nosql数据库CodernityDB介绍和使用实例
2014/10/23 Python
Python验证码识别处理实例
2015/12/28 Python
详解Python中的测试工具
2019/06/09 Python
H5页面适配iPhoneX(就是那么简单)
2019/12/02 HTML / CSS
师范毕业生求职自荐信
2013/09/25 职场文书
日语专业推荐信
2013/11/12 职场文书
法学毕业生自我鉴定
2014/01/31 职场文书
大型晚会策划方案
2014/02/06 职场文书
大学同学十年聚会感言
2014/02/21 职场文书
演讲稿的写法
2014/05/19 职场文书
党的群众路线整改落实情况汇报
2014/10/28 职场文书
2014年幼儿园个人工作总结
2014/11/10 职场文书
委托书格式范文
2015/01/28 职场文书
简单的辞职信范文(2016最新版)
2015/05/12 职场文书
普希金诗歌赏析(6首)
2019/08/22 职场文书