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
php 使用post,get的一种简洁方式
Apr 25 PHP
PHP定时执行计划任务的多种方法小结
Dec 19 PHP
PHP 代码规范小结
Mar 08 PHP
PHP连接MySQL查询结果中文显示乱码解决方法
Oct 25 PHP
FastCGI 进程意外退出造成500错误
Jul 26 PHP
PHP之图片上传类实例代码(加了缩略图)
Jun 30 PHP
Laravel框架模型的创建及模型对数据操作示例
May 07 PHP
PHP调用接口API封装的例子
Oct 11 PHP
PHP Beanstalkd消息队列的安装与使用方法实例详解
Feb 21 PHP
php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析
Feb 28 PHP
Thinkphp5+Redis实现商品秒杀代码实例讲解
Dec 29 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中的加密功能
2006/10/09 PHP
array_multisort实现PHP多维数组排序示例讲解
2011/01/04 PHP
php使用escapeshellarg时中文被过滤的解决方法
2016/07/10 PHP
微信公众平台开发教程①获取用户Openid及个人信息图文详解
2019/04/10 PHP
通过代码实例解析PHP session工作原理
2020/12/11 PHP
可缩放Reloaded-一个针对可缩放元素的复用组件
2007/03/10 Javascript
基于Jquery的简单图片切换效果
2011/01/06 Javascript
jquery键盘事件使用介绍
2011/11/01 Javascript
将HTML的左右尖括号等转义成实体形式的两种实现方式
2014/05/04 Javascript
jQuery filter函数使用方法
2014/05/19 Javascript
JQuery中serialize()、serializeArray()和param()方法示例介绍
2014/07/31 Javascript
JavaScript获得当前网页来源页面(即上一页)的方法
2015/04/03 Javascript
基于jQuery Circlr插件实现产品图片360度旋转
2015/09/20 Javascript
JavaScript原生对象常用方法总结(推荐)
2016/05/13 Javascript
jQuery中的一些常见方法小结(推荐)
2016/06/13 Javascript
浅谈js之字面量、对象字面量的访问、关键字in的用法
2016/11/20 Javascript
原生JS实现圆环拖拽效果
2017/04/07 Javascript
微信小程序开发之animation循环动画实现的让云朵飘效果
2017/07/14 Javascript
Node.js调用fs.renameSync报错(Error: EXDEV, cross-device link not permitted)
2017/12/27 Javascript
jQuery实现的简单图片轮播效果完整示例
2018/02/08 jQuery
JavaScript数组排序功能简单实现
2020/05/14 Javascript
Javascript实现关闭广告效果
2021/01/29 Javascript
[04:04]DOTA2亚洲邀请赛比赛场馆&酒店全攻略
2017/03/23 DOTA
python 文件和路径操作函数小结
2009/11/23 Python
Python中列表(list)操作方法汇总
2014/08/18 Python
python数组复制拷贝的实现方法
2015/06/09 Python
Python的几个高级语法概念浅析(lambda表达式闭包装饰器)
2016/05/28 Python
Python算术运算符实例详解
2017/05/31 Python
python如何去除字符串中不想要的字符
2020/07/05 Python
解决windows下python3使用multiprocessing.Pool出现的问题
2020/04/08 Python
java关于string最常出现的面试题整理
2021/01/18 Python
社区学雷锋活动策划方案
2014/01/30 职场文书
网页美工求职信范文
2014/04/17 职场文书
毕业证丢失证明范本
2014/09/20 职场文书
社区元宵节活动总结
2015/02/06 职场文书
z-index不起作用
2021/03/31 HTML / CSS