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下MAIL的另一解决方案
Oct 09 PHP
smtp邮件发送一例
Oct 09 PHP
超强分页类2.0发布,支持自定义风格,默认4种显示模式
Jan 02 PHP
让你成为更出色的PHP开发者的10个技巧
Feb 25 PHP
PHP的PSR规范中文版
Sep 28 PHP
PHP使用DOMDocument类生成HTML实例(包含常见标签元素)
Jun 25 PHP
浅谈php提交form表单
Jul 01 PHP
jQuery+Ajax+PHP“喜欢”评级功能实现代码
Oct 08 PHP
laravel通过创建自定义artisan make命令来新建类文件详解
Aug 17 PHP
ThinkPHP3.2框架自定义配置和加载用法示例
Jun 14 PHP
PHP树形结构tree类用法示例
Feb 01 PHP
Yii框架ACF(accessController)简单权限控制操作示例
Apr 26 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中函数的形参与实参的问题说明
2010/09/01 PHP
PHP 小心urldecode引发的SQL注入漏洞
2011/10/27 PHP
php代码审计比较有意思的例子
2014/05/07 PHP
php中Array2xml类实现数组转化成XML实例
2014/12/08 PHP
在Mac OS上搭建Nginx+PHP+MySQL开发环境的教程
2015/12/21 PHP
PHP匿名函数(闭包函数)详解
2019/03/22 PHP
PHP钩子实现方法解析
2019/05/21 PHP
再谈javascript图片预加载技术(详细演示)
2011/03/12 Javascript
JQuery 实现在同一页面锚点链接之间的平滑滚动
2014/10/29 Javascript
移动端横屏的JS代码(beta)
2016/05/16 Javascript
JS弹出新窗口被拦截的解决方法
2016/08/09 Javascript
jquery对Json的各种遍历方法总结(必看篇)
2016/09/29 Javascript
基于js实现二级下拉联动
2016/12/17 Javascript
jQuery层级选择器_动力节点节点Java学院整理
2017/07/04 jQuery
vue+socket.io+express+mongodb 实现简易多房间在线群聊示例
2017/10/21 Javascript
vue keep-alive请求数据的方法示例
2018/05/16 Javascript
Vue data的数据响应式到底是如何实现的
2020/02/11 Javascript
JavaScript 禁止用户保存图片的实现代码
2020/04/28 Javascript
[41:52]2018DOTA2亚洲邀请赛3月29日小组赛B组Effect VS Secret
2018/03/30 DOTA
Python内置的字符串处理函数整理
2013/01/29 Python
Python Trie树实现字典排序
2014/03/28 Python
python进阶教程之动态类型详解
2014/08/30 Python
python中的字典详细介绍
2014/09/18 Python
python根据时间生成mongodb的ObjectId的方法
2015/03/13 Python
python文件特定行插入和替换实例详解
2017/07/12 Python
python虚拟环境virtualenv的使用教程
2017/10/20 Python
Python实现全排列的打印
2018/08/18 Python
django中SMTP发送邮件配置详解
2019/07/19 Python
postman传递当前时间戳实例详解
2019/09/14 Python
Python实现中值滤波去噪方式
2019/12/18 Python
python通过nmap扫描在线设备并尝试AAA登录(实例代码)
2019/12/30 Python
Python使用tkinter实现小时钟效果
2021/02/22 Python
幼师辞职信怎么写
2015/02/27 职场文书
幼儿园食品安全责任书
2015/05/08 职场文书
Python OpenCV超详细讲解读取图像视频和网络摄像头
2022/04/02 Python
nginx rewrite功能使用场景分析
2022/05/30 Servers