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 相关文章推荐
JS实现php的伪分页
May 25 PHP
php 网页游戏开发入门教程一(webgame+design)
Oct 26 PHP
php 无限级分类学习参考之对ecshop无限级分类的解析 带详细注释
Mar 23 PHP
PHP 一个随机字符串生成代码
May 26 PHP
配置php网页显示各种语法错误
Sep 23 PHP
php旋转图片90度的方法
Nov 07 PHP
php时间戳格式化显示友好的时间函数分享
Oct 21 PHP
ThinkPHP模板之变量输出、自定义函数与判断语句用法
Nov 01 PHP
PHP移动文件指针ftell()、fseek()、rewind()函数总结
Nov 18 PHP
Linux系统下PHP-FPM的安装和配置教程
Aug 17 PHP
php parse_str() 函数的定义和用法
May 23 PHP
php面试中关于面向对象的相关问题
Feb 13 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+DBM的同学录程序(2)
2006/10/09 PHP
php实现两表合并成新表并且有序排列的方法
2014/12/05 PHP
php实现简易聊天室应用代码
2015/09/23 PHP
常规表格多表头查询示例
2014/02/21 Javascript
jquery库文件略庞大用纯js替换jquery的方法
2014/08/12 Javascript
javascript框架设计读书笔记之数组的扩展与修复
2014/12/02 Javascript
JavaScript替换当前页面的方法
2015/04/03 Javascript
在JavaScript中操作时间之setYear()方法的使用
2015/06/12 Javascript
基于vue.js实现图片轮播效果
2016/12/01 Javascript
移动端基础事件总结与应用
2017/01/12 Javascript
vue 路由页面之间实现用手指进行滑动的方法
2018/02/23 Javascript
最适应的vue.js的form提交涉及多种插件【推荐】
2018/08/27 Javascript
Vue创建头部组件示例代码详解
2018/10/23 Javascript
浅谈监听单选框radio改变事件(和layui中单选按钮改变事件)
2019/09/10 Javascript
Vue-cli3项目引入Typescript的实现方法
2019/10/18 Javascript
js实现盒子移动动画效果
2020/08/09 Javascript
[01:14:55]EG vs Spirit Supermajor 败者组 BO3 第三场 6.4
2018/06/05 DOTA
为Python的web框架编写MVC配置来使其运行的教程
2015/04/30 Python
Python爬取网易云音乐热门评论
2017/03/31 Python
python基于C/S模式实现聊天室功能
2019/01/09 Python
python实现批量注册网站用户的示例
2019/02/22 Python
python-tkinter之按钮的使用,开关方法
2019/06/11 Python
使用python写的opencv实时监测和解析二维码和条形码
2019/08/14 Python
Python实现打印实心和空心菱形
2019/11/23 Python
css3旋转木马_动力节点Java学院整理
2017/07/12 HTML / CSS
玩具反斗城西班牙网上商城:ToysRUs西班牙
2017/01/19 全球购物
英国高街电视:High Street TV
2018/05/22 全球购物
业务经理的岗位职责
2013/11/16 职场文书
工作的心得体会
2013/12/31 职场文书
高三英语教学反思
2014/01/13 职场文书
先进集体事迹材料
2014/02/17 职场文书
社会公德演讲稿
2014/05/20 职场文书
学术会议领导致辞
2015/07/29 职场文书
研究生学习计划书应该怎么写?
2019/09/10 职场文书
详解vue身份认证管理和租户管理
2021/05/25 Vue.js
关于JavaScript回调函数的深入理解
2021/06/27 Javascript