文档章节

使用PHP处理zip压缩文件之ZipArchive

crazymus
 crazymus
发布于 2014/11/16 17:52
字数 356
阅读 3196
收藏 12

PHP5.2以后,强化了对压缩文件的处理,不仅对zip算法,还包括rar算法、gzip算法等都有了相应的支持。

今天,我来和大家分享一下用PHP处理zip文件。我们用到的是ZipArchive类,如果你安装了PHP5.2以上,无需做任何配置即可开始使用该类。

创建压缩文件:

<?php

//实例化类
$zip = new ZipArchive();
//需要打开的zip文件,文件不存在将会自动创建
$filename = "./test.zip";

if ($zip->open($filename, ZIPARCHIVE::CREATE)!==TRUE) {
	//如果是Linux系统,需要保证服务器开放了文件写权限
    exit("文件打开失败!");
}

//将一段字符串添加到压缩文件中,test.txt文件会自动创建
$zip->addFromString("test.txt", "你好 , 世界");

//将test.php文件添加到压缩文件中
$zip->addFile("test.php");

//输出加入的文件数 , 这里应该是 2
echo "文件数 : ".$zip->numFiles;

//关闭文件
$zip->close();

?>

创建的文件结构:

下面再来看解压文件:

<?php

$zip = new ZipArchive;

if ($zip->open('test.zip') === TRUE) {
	//将test.zip中的文件解压到test文件夹中,文件夹会自动创建
    $zip->extractTo('test/');
    $zip->close();
    echo '解压成功';
} else {
    echo '解压失败';
}

?>



ZipArchive类的基本使用就是这么简单。当然,它还有很多强大的功能,请参阅PHP官网中相关内容。

欢迎大家和我交流,若有任何问题请留言。

© 著作权归作者所有

共有 人打赏支持
crazymus

crazymus

粉丝 67
博文 70
码字总数 106718
作品 8
程序员
私信 提问
PHP自带ZIP压缩、解压缩类ZipArchiv介绍及使用

--------------------- 使用ZipArchive对象的前提 --------------------- 要使用该PHP扩展类,需要(PHP 5 >= 5.2.0, PECL zip >= 1.1.0),部分方法需要 PHP 5.2.+,且php.ini配置支持zip 对于......

lixiaokai2008
2013/10/31
0
0
PHP扩展类ZipArchive实现压缩解压Zip文件和文件打包下载

PHP ZipArchive 是PHP自带的扩展类,可以轻松实现ZIP文件的压缩和解压,使用前首先要确保PHP ZIP 扩展已经开启,具体开启方法就不说了,不同的平台开启PHP扩增的方法网上都有,如有疑问欢迎交...

Junn
2013/01/24
0
1
文件打包,下载之使用PHP自带的ZipArchive压缩文件并下载打包好的文件

总结: 使用PHP下载文件的操作需要给出四个header(),可以参考我的另一篇博文:PHP如何实现下载功能超详细流程分析 计算文件的大小的时候,并不需要先打开文件,通过filesize($filename)就可...

雍雍_yoyo
2015/10/12
332
0
iOS开发-用ZipArchive添加和解压zip包

ZipArchive是一个开源的zip开发包工具。 使用方法如下: 创建/添加一个zip包 ZipArchive* zipFile = [[ZipArchive alloc] init]; //次数得zipfilename需要一个完整得路径,例如***/Documents...

TomatosX
2015/09/04
1K
0
PHP 压缩ZIP中文名乱码问题

$zip = new ZipArchive(); $zip->addFile($path . $fileName) 用这种方法压缩的文件中如果有中文名文件解压后乱码 是什么原因呢? 可能是文件名称编码问题,但是如何设置编码呢?...

噢-我想多了
2016/09/29
715
3

没有更多内容

加载失败,请刷新页面

加载更多

nuc970 uboot nand-boot,kernel, filesystem 烧录位置

一 烧写到Nand Flash **1.1 **相关文件说明 l BSP版本:nuc970bsp-release-20150519.zip l NuWriter版本:2015/04/28-V01,nuvoTon Nu-Writer V1.0 l 烧写文件: u-boot-spl.bin:负责将u-b......

CookieDemo
29分钟前
1
0
python中sort和sorted函数小结

L.sort(cmp=None, key=None, reverse=False) sorted(iterable, cmp=None, key=None, reverse=False) 这样看,sorted函数只比sort函数多一个iterable参数,其余没什么不同,iterable是一个迭代......

上官夏洛特
56分钟前
3
0
thinkphp 常用SQL执行语句总结

第一条:Db::tablera('vr_panomas')->where(['delete_time'=>0,'id'=>['in',$pids]])->field(['id'=>'id','post_thumb'=>'thumb','post_title'=>'title','post_tags'=>'tags','post_price'=>......

koothon
今天
3
0
支付宝返回状态resultStatus意思

上一篇集成支付宝的时候,会有一些支付宝返回的resultStatus,具体意思是: 9000 订单支付成功 8000 正在处理中 4000 订单支付失败 6001 用户中途取消 6002 网络连接出错 还有memo,意思就是...

RainOrz
今天
3
0
electron webview 页面加载事件顺序

1.did-start-loading 页面开始加载 2.load-commit 主页面文档加载 3.page-title-updated title 4.dom-ready 主页面 dom 加载完成 5.load-commit frame文档加载 6.did-frame-finish-load fram......

dubox
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部