php使用ZipArchive函数实现文件的压缩与解压缩


Posted in PHP onOctober 27, 2015

PHP ZipArchive 是PHP自带的扩展类,可以轻松实现ZIP文件的压缩和解压,使用前首先要确保PHP ZIP 扩展已经开启,具体开启方法这里就不说了,不同的平台开启PHP扩增的方法网上都有,如有疑问欢迎交流。这里整理一下利用php zipArchive进行文件的压缩与解压缩的常用的示例供参考。
一、解压缩zip文件

$zip=new ZipArchive;//新建一个ZipArchive的对象 
  if($zip->open('test.zip')===TRUE){ 
  $zip->extractTo('images');//假设解压缩到在当前路径下images文件夹内 
  $zip->close();//关闭处理的zip文件 
}

二、将文件压缩成zip文件

$zip=new ZipArchive; 
if($zip->open('test.zip',ZipArchive::OVERWRITE)===TRUE){ 
  $zip->addFile('image.txt');//假设加入的文件名是image.txt,在当前路径下 
  $zip->close(); 
}

三、文件追加内容添加到zip文件

$zip=new ZipArchive; 
$res=$zip->open('test.zip',ZipArchive::CREATE); 
if($res===TRUE){ 
  $zip->addFromString('test.txt','file content goes here'); 
  $zip->close(); 
  echo 'ok'; 
}else{ 
  echo 'failed'; 
}

四、将文件夹打包成zip文件

function addFileToZip($path,$zip){ 
  $handler=opendir($path); //打开当前文件夹由$path指定。 
  while(($filename=readdir($handler))!==false){ 
    if($filename != "." && $filename != ".."){//文件夹文件名字为'.'和‘..',不要对他们进行操作 
      if(is_dir($path."/".$filename)){// 如果读取的某个对象是文件夹,则递归 
        addFileToZip($path."/".$filename, $zip); 
      }else{ //将文件加入zip对象 
        $zip->addFile($path."/".$filename); 
      } 
    } 
  } 
  @closedir($path); 
} 
$zip=new ZipArchive(); 
if($zip->open('images.zip', ZipArchive::OVERWRITE)=== TRUE){ 
  addFileToZip('images/', $zip); //调用方法,对要打包的根目录进行操作,并将ZipArchive的对象传递给方法 
  $zip->close(); //关闭处理的zip文件 
}

以上就是php实现文件的压缩与解压缩的四种不同情况,可能还有其他情况没有补充完整,在之后的文章中陆续更新,希望这篇文章对大家的学习有所帮助。

PHP 相关文章推荐
PHP静态类
Nov 25 PHP
php中通过虚代理实现延迟加载的实现代码
Jun 10 PHP
php读取excel文件示例分享(更新修改excel)
Feb 27 PHP
PHP使用GIFEncoder类生成gif动态滚动字幕
Jul 01 PHP
php header函数的常用http头设置
Jun 25 PHP
提交表单后 PHP获取提交内容的实现方法
May 25 PHP
php 解析xml 的四种方法详细介绍
Oct 26 PHP
详解PHP处理密码的几种方式
Nov 30 PHP
PHP基于socket实现的简单客户端和服务端通讯功能示例
Jul 10 PHP
PHP定义字符串的四种方式详解
Feb 06 PHP
PHP5.5基于mysqli连接MySQL数据库和读取数据操作实例详解
Feb 16 PHP
Laravel Validator 实现两个或多个字段联合索引唯一
May 08 PHP
php常量详细解析
Oct 27 #PHP
php过滤所有的空白字符(空格、全角空格、换行等)
Oct 27 #PHP
PHP的APC模块实现上传进度条
Oct 27 #PHP
php+ajax制作无刷新留言板
Oct 27 #PHP
一个完整的php文件上传类实例讲解
Oct 27 #PHP
php邮件发送的两种方式
Apr 28 #PHP
php语言中使用json的技巧及json的实现代码详解
Oct 27 #PHP
You might like
Mysql和网页显示乱码解决方法集锦
2008/03/27 PHP
php 移除数组重复元素的一点说明
2008/11/27 PHP
php文件上传表单摘自drupal的代码
2011/02/15 PHP
2014过年倒计时示例
2014/01/31 PHP
php数组去重复数据示例
2014/02/25 PHP
php字符串函数学习之strstr()
2015/03/27 PHP
div+css+js实现无缝滚动类似marquee无缝滚动兼容firefox
2013/08/29 Javascript
Js Jquery创建一个弹出层可加载一个页面
2014/05/08 Javascript
Jquery响应回车键直接提交表单操作代码
2014/07/25 Javascript
Grunt入门教程(自动任务运行器)
2015/08/06 Javascript
js一维数组、多维数组和对象的混合使用方法
2016/04/03 Javascript
jQuery焦点图左右转换效果
2016/12/12 Javascript
使用Vue.set()方法实现响应式修改数组数据步骤
2019/11/09 Javascript
微信小程序实现抖音播放效果的实例代码
2020/04/11 Javascript
JS加载解析Markdown文档过程详解
2020/05/19 Javascript
jQuery实现B2B网站后台管理系统侧导航
2020/07/08 jQuery
Vue 样式切换及三元判断样式关联操作
2020/08/09 Javascript
Python可变参数函数用法实例
2015/07/07 Python
浅谈Python中range和xrange的区别
2017/12/20 Python
python删除本地夹里重复文件的方法
2020/11/19 Python
python实现爬虫抓取小说功能示例【抓取金庸小说】
2019/08/09 Python
Django多层嵌套ManyToMany字段ORM操作详解
2020/05/19 Python
python利用tkinter实现图片格式转换的示例
2020/09/28 Python
Python实现定时监测网站运行状态的示例代码
2020/09/30 Python
分享一枚pycharm激活码适用所有pycharm版本我的pycharm2020.2.3激活成功
2020/11/20 Python
详解appium自动化测试工具(monitor、uiautomatorviewer)
2021/01/27 Python
使用canvas对多图片拼合并导出图片的方法
2018/08/28 HTML / CSS
网络教育毕业生自我鉴定
2013/10/10 职场文书
趣味活动策划方案
2014/02/08 职场文书
大学生未来职业生涯规划书
2014/02/15 职场文书
幼儿园亲子活动总结
2014/04/26 职场文书
2015年公司新年寄语
2014/12/08 职场文书
优秀班主任材料
2014/12/16 职场文书
2015年纪委工作总结
2015/05/13 职场文书
大学军训通讯稿(2016最新版)
2015/12/21 职场文书
python实现三次密码验证的示例
2021/04/29 Python