首页 > 代码库 > 使用PHP处理zip压缩文件之ZipArchive

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

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官网中相关内容。

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

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