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 相关文章推荐
Windows下PHP5和Apache的安装与配置
Sep 05 PHP
解析PHP中DIRECTORY_SEPARATOR,PATH_SEPARATOR两个常量的作用
Jun 21 PHP
codeigniter自带数据库类使用方法说明
Mar 25 PHP
PHP抓取、分析国内视频网站的视频信息工具类
Apr 02 PHP
php加速器eAccelerator的配置参数、API详解
May 05 PHP
PHP判断一个字符串是否是回文字符串的方法
Mar 23 PHP
php实现约瑟夫问题的方法小结
Mar 23 PHP
PHP生成图片验证码功能示例
Jan 12 PHP
利用php-cli和任务计划实现刷新token功能的方法
May 03 PHP
PHP实现深度优先搜索算法(DFS,Depth First Search)详解
Sep 16 PHP
PHP中有关长整数的一些操作教程
Sep 11 PHP
PHP框架实现WebSocket在线聊天通讯系统
Nov 21 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环境配置之CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI比较?
2011/10/17 PHP
PHP中register_globals参数为OFF和ON的区别(register_globals 使用详解)
2012/02/05 PHP
实测在class的function中include的文件中非php的global全局环境
2013/07/15 PHP
php四种基础算法代码实例
2013/10/29 PHP
php二维数组用键名分组相加实例函数
2013/11/06 PHP
php提示Warning:mysql_fetch_array() expects的解决方法
2014/12/16 PHP
php组合排序简单实现方法
2016/10/15 PHP
PHP实现类似于C语言的文件读取及解析功能
2017/09/01 PHP
PHP基于pdo的数据库操作类【可支持mysql、sqlserver及oracle】
2018/05/21 PHP
laravel5实现微信第三方登录功能
2018/12/06 PHP
PHP Trait代码复用类与多继承实现方法详解
2019/06/17 PHP
html的DOM中document对象images集合用法实例
2015/01/21 Javascript
JavaScript事件学习小结(三)js事件对象
2016/06/09 Javascript
使用jQuery Rotare实现微信大转盘抽奖功能
2016/06/20 Javascript
微信小程序实现倒计时60s获取验证码
2020/04/17 Javascript
深入理解ES6之数据解构的用法
2018/01/13 Javascript
nginx部署访问vue-cli搭建的项目的方法
2018/02/12 Javascript
vue和react等项目中更简单的实现展开收起更多等效果示例
2018/02/22 Javascript
Python3读取文件常用方法实例分析
2015/05/22 Python
浅析AST抽象语法树及Python代码实现
2016/06/06 Python
shelve  用来持久化任意的Python对象实例代码
2016/10/12 Python
用python写一个windows下的定时关机脚本(推荐)
2017/03/21 Python
Python中函数eval和ast.literal_eval的区别详解
2017/08/10 Python
详解Django之auth模块(用户认证)
2018/04/17 Python
python 集合 并集、交集 Series list set 转换的实例
2018/05/29 Python
python实现泊松图像融合
2018/07/26 Python
python模拟实现斗地主发牌
2020/01/07 Python
GWebs公司笔试题
2012/05/04 面试题
党校自我鉴定范文
2013/10/02 职场文书
客服工作职责
2013/12/11 职场文书
教研活动总结
2014/04/28 职场文书
2014年物业公司工作总结
2014/11/22 职场文书
房地产销售助理岗位职责
2015/04/14 职场文书
2015年采购部工作总结
2015/04/23 职场文书
React列表栏及购物车组件使用详解
2021/06/28 Javascript
SpringCloud项目如何解决log4j2漏洞
2022/04/10 Java/Android