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 相关文章推荐
基于数据库的在线人数,日访问量等统计
Oct 09 PHP
c#中的实现php中的preg_replace
Dec 21 PHP
PHP学习之字符串比较和查找
Apr 17 PHP
php报表之jpgraph柱状图实例代码
Aug 22 PHP
利用PHP生成静态HTML文档的原理
Oct 29 PHP
解析Win7 XAMPP apache无法启动的问题
Jun 26 PHP
PHP代码判断设备是手机还是平板电脑(两种方法)
Oct 19 PHP
在WordPress的后台中添加顶级菜单和子菜单的函数详解
Jan 11 PHP
php利用递归实现删除文件目录的方法
Sep 23 PHP
详解PHP函数 strip_tags 处理字符串缺陷bug
Jun 11 PHP
thinkPHP5框架接口写法简单示例
Aug 05 PHP
解决laravel上传图片之后,目录有图片,但是访问不到(404)的问题
Oct 14 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 广告调用类代码(支持Flash调用)
2011/08/11 PHP
mac系统下安装多个php并自由切换的方法详解
2017/04/21 PHP
phpStudy2016 配置多个域名期间遇到的问题小结
2017/10/19 PHP
PHP实现的策略模式示例
2019/03/20 PHP
jquery Firefox3.5中操作select的问题
2009/07/10 Javascript
jquery方法+js一般方法+js面向对象方法实现拖拽效果
2012/08/30 Javascript
Javascript实现重力弹跳拖拽运动效果示例
2013/06/28 Javascript
浅谈Sticky组件的改进实现
2016/03/22 Javascript
多个上传文件用js验证文件的格式和大小的方法(推荐)
2017/03/09 Javascript
angularJS模态框$modal实例代码
2017/05/27 Javascript
解决angular双向绑定无效果,ng-model不能正常显示的问题
2018/10/02 Javascript
JS中min函数实例讲解
2019/02/18 Javascript
[08:47]DOTA2每周TOP10 精彩击杀集锦vol.6
2014/06/25 DOTA
python采用django框架实现支付宝即时到帐接口
2016/05/17 Python
Python环境搭建之OpenCV的步骤方法
2017/10/20 Python
利用python实现简单的邮件发送客户端示例
2017/12/23 Python
python用户管理系统
2018/03/13 Python
Pycharm设置utf-8自动显示方法
2019/01/17 Python
对python while循环和双重循环的实例详解
2019/08/23 Python
python根据时间获取周数代码实例
2019/09/30 Python
Python中顺序表原理与实现方法详解
2019/12/03 Python
在python中使用pymysql往mysql数据库中插入(insert)数据实例
2020/03/02 Python
Python网页解析器使用实例详解
2020/05/30 Python
解决Keras中CNN输入维度报错问题
2020/06/29 Python
Django DRF认证组件流程实现原理详解
2020/08/17 Python
使用Python爬虫爬取小红书完完整整的全过程
2021/01/19 Python
python模块内置属性概念及实例
2021/02/18 Python
德国玩具商店:Planet Happy DE
2021/01/16 全球购物
外企测试工程师面试题
2015/02/01 面试题
员工自我鉴定
2013/10/09 职场文书
餐饮管理自我介绍信
2014/01/15 职场文书
毕业自我鉴定怎么写
2014/03/25 职场文书
城管大队整治方案
2014/05/06 职场文书
本科毕业生自荐信
2014/05/26 职场文书
受资助学生感谢信
2015/01/21 职场文书
大学生安全教育心得体会
2016/01/15 职场文书