php打包压缩文件之ZipArchive方法用法分析


Posted in PHP onApril 30, 2016

本文实例讲述了php打包压缩文件之ZipArchive方法用法。分享给大家供大家参考,具体如下:

前面说到了php打包压缩文件之PclZip方法,今天来说下另一种更为简单的方法,使用ZipArchive来压缩文件。这个是php的扩展类,自php5.2版本以后就已经支持这个扩展,如果你在使用的时候出现错误,查看下php.ini里面的extension=php_zip.dll前面的分号有没有去掉,然后再重启Apache这样才能使用这个类库。

使用ZipArchive压缩文件是非常简单的,php官网已经给我提供了很多相关示例,大家可以看下 http://www.php.net/manual/zh/class.ziparchive.php,例如:

<?php
$zip = new ZipArchive; //首先实例化这个类
if ($zip->open('test.zip') === TRUE) { //然后查看是否存在test.zip这个压缩包
  $zip->addFile('too.php');
  $zip->addFile('test.php'); //将too.php和test.php两个文件添加到test.zip压缩包中
  $zip->close(); //关闭
  echo 'ok';
} else {
  echo 'failed';
}
?>

下面是一些参数说明:

<?php
/******** ziparchive 可选参数 *******/
/*
1.ZipArchive::addEmptyDir
添加一个新的文件目录
2.ZipArchive::addFile 
将文件添加到指定zip压缩包中。
3.ZipArchive::addFromString 
添加的文件同时将内容添加进去
4.ZipArchive::close 
关闭ziparchive
5.ZipArchive::extractTo 
将压缩包解压
6.ZipArchive::open
打开一个zip压缩包
7.ZipArchive::getStatusString
返回压缩时的状态内容,包括错误信息,压缩信息等等
8.ZipArchive::deleteIndex
删除压缩包中的某一个文件,如:deleteIndex(0)删除第一个文件
9.ZipArchive::deleteName
删除压缩包中的某一个文件名称,同时也将文件删除。
......
*/
?>

总之只要你的php5.2版本以上,使用ZipArchive来进行文件压缩还是比较方便的。具体的和PclZip哪一个运行速度比较快,这个磊子还没有做过测试,大家感兴趣的可以折腾折腾。

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
用PHP制作的意见反馈表源码
Mar 11 PHP
php Ajax乱码
Apr 09 PHP
解决CodeIgniter伪静态失效
Jun 09 PHP
php防止恶意刷新与刷票的方法
Nov 21 PHP
PHP实现从远程下载文件的方法
Mar 12 PHP
PHP连接Nginx服务器并解析Nginx日志的方法
Aug 16 PHP
100多行PHP代码实现socks5代理服务器[2]
May 05 PHP
浅谈PHP的反射机制
Dec 15 PHP
WAF的正确bypass
Jan 05 PHP
使用vs code编辑调试php配置的方法
Jan 29 PHP
解决Laravel自定义类引入和命名空间的问题
Oct 15 PHP
如何在Laravel5.8中正确地应用Repository设计模式
Nov 26 PHP
php使用pclzip类实现文件压缩的方法(附pclzip类下载地址)
Apr 30 #PHP
php简单实现数组分页的方法
Apr 30 #PHP
php简单创建zip压缩文件的方法
Apr 30 #PHP
Yii2 rbac权限控制操作步骤实例教程
Apr 29 #PHP
PHP.vs.JAVA
Apr 29 #PHP
Yii实现简单分页的方法
Apr 29 #PHP
php实现在站点里面添加邮件发送的功能
Apr 28 #PHP
You might like
真正的ZIP文件操作类(php)
2007/07/21 PHP
php中get_defined_constants函数用法实例分析
2015/05/12 PHP
PHP实现支付宝即时到账功能
2016/12/21 PHP
php实现的pdo公共类定义与用法示例
2017/07/19 PHP
Autocomplete Textbox Example javascript实现自动完成成功
2007/08/17 Javascript
javascript jQuery插件练习
2008/12/24 Javascript
基于jquery的获取浏览器窗口大小的代码
2011/03/28 Javascript
js change,propertychange,input事件小议
2011/12/20 Javascript
JS+JSP checkBox 全选具体实现
2014/01/02 Javascript
node.js中的http.response.setHeader方法使用说明
2014/12/14 Javascript
JavaScript和HTML DOM的区别与联系及Javascript和DOM的关系
2015/11/15 Javascript
jquery悬浮提示框完整实例
2016/01/13 Javascript
JS实现页面数据无限加载
2016/09/13 Javascript
angularjs中使用ng-bind-html和ng-include的实例
2017/04/28 Javascript
JavaScript限定范围拖拽及自定义滚动条应用(3)
2017/05/17 Javascript
mui框架 页面无法滚动的解决方法(推荐)
2018/01/25 Javascript
layui中的switch开关实现方法
2019/09/03 Javascript
vue + elementUI实现省市县三级联动的方法示例
2019/10/29 Javascript
uniapp 仿微信的右边下拉选择弹出框的实现代码
2020/07/12 Javascript
python实现二叉树的遍历
2017/12/11 Python
基于循环神经网络(RNN)实现影评情感分类
2018/03/26 Python
python求质数的3种方法
2018/09/28 Python
Python模块 _winreg操作注册表
2020/02/05 Python
python利用datetime模块计算程序运行时间问题
2020/02/20 Python
如何基于matlab相机标定导出xml文件
2020/11/02 Python
Numpy中np.max的用法及np.maximum区别
2020/11/27 Python
Python Http请求json解析库用法解析
2020/11/28 Python
英国高街品牌:Miss Selfridge(塞尔弗里奇小姐)
2016/09/21 全球购物
美国购买韩国护肤和美容产品网站:Althea Korea
2020/11/16 全球购物
庆中秋节主题活动方案
2014/02/03 职场文书
行政人事经理职位说明书
2014/03/05 职场文书
小学安全工作汇报材料
2014/08/19 职场文书
2015年新农村建设指导员工作总结
2015/07/24 职场文书
Nginx快速入门教程
2021/03/31 Servers
自制短波长线天线频率预选器 - 成功消除B2K之流的镜像
2021/04/22 无线电
解决redis批量删除key值的问题
2022/03/23 Redis