文档章节

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

crazymus
 crazymus
发布于 2014/11/16 17:52
字数 356
阅读 3218
收藏 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
PHPExcel 错误Fatal error: ZipArchive library is not

Fatal error: Class 'ZipArchive' not found的解决办法 出现这个错误说明是程序在调用'ZipArchive' 这个类的时候没有成功,原因是由于在安装php的时候没有增加php zip的支持(非zlib)。 在W...

mac_zhao
2015/01/15
67
0

没有更多内容

加载失败,请刷新页面

加载更多

Kafka+Flink 实现准实时异常检测系统

1.背景介绍 异常检测可以定义为“基于行动者(人或机器)的行为是否正常作出决策”,这项技术可以应用于非常多的行业中,比如金融场景中做交易检测、贷款检测;工业场景中做生产线预警;安防...

架构师springboot
41分钟前
6
0
DecimalFormat 类基本使用

/* * DecimalFormat 类主要靠 # 和 0 两种占位符号来指定数字长度 * 0 表示如果位数不足则以 0 填充 * # 表示只要有可能就把数字拉上这个位置 * */ public static void main(String[] args){...

嘴角轻扬30
58分钟前
4
0
This APT has Super Cow Powers.

在Debian/Ubuntu上,apt包管理器内嵌着一个彩蛋. 如果你在命令行界面输入 apt help 在最后一行能找到This APT has Super Cow Powers. 说明该apt具有超级牛力 牛力是个什么梗? 则说明你的系统...

taadis
今天
3
0
起薪2万的爬虫工程师,Python需要学到什么程度才可以就业?

爬虫工程师的的薪资为20K起,当然,因为大数据,薪资也将一路上扬。那么,Python需要学到什么程度呢?今天我们来看看3位前辈的回答。 1、前段时间快要毕业,而我又不想找自己的老本行Java开发...

糖宝lsh
今天
10
0
携手开发者共建云生态 首届腾讯云+社区开发者大会在京举办

本文由云+社区发表 北京时间12月15日,由腾讯云主办,极客邦科技、微信、腾讯TEG协办的首届腾讯云+社区开发者大会在北京朝阳悠唐皇冠假日酒店举办。在会上,腾讯云发布了重磅产品开发者平台以...

腾讯云加社区
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部