php中有一个ZipArchive类,可以用于文件的压缩与解压的操作,ZipArchive类的使用教程,可以查看下面的方法。
php ZipArchive类使用方法
1、声明一个 ZipArchive 类的使用方法$zip = new ZipArchive;
2、打开一个压缩文件$zip->open('new.zip', ZipArchive::CREATE);
(1)、open 中的第一个参数 'new.zip',是要打开的压缩文件
(2)、open 中的第二个参数,有四个值,可以参考如下ZIPARCHIVE::OVERWRITE:检测zip文件是否存在,如果不存在则会新建,如果存在则会被覆盖
ZIPARCHIVE::CREATE:如果指定的zip文件不存在,则新建一个
ZIPARCHIVE::EXCL:如果指定的zip文件存在,则会报错
ZIPARCHIVE::CHECKCONS:对指定的zip执行其他一致性测试
3、addFile 可以添加文件到压缩包中$zip->addFile('test.txt');
4、addEmptyDir 添加一个空目录到压缩包中$zip->addEmptyDir ('newdir');
5、addFromString 添加指定的内容的文件到压缩包中$zip->addFromString('new.txt', '这里是要添加的内容');
6:extractTO 将压缩包解压到指定文件$zip->extractTo('test');
7:getNameIndex 根据压缩包内文件索引返回文件名称$zip->getNameIndex(0);
8:getStream 获取压缩包中指定文件的内容$zip->getStream('hello.txt');
9:renameIndex 修改压缩包中指定索引的文件$zip->renameIndex(0,'newname.txt');
10:renameName 修改指定文件的名称$zip->renameName('word.txt','newword.txt');
11:deleteIndex 删除压缩包中指定索引的文件$zip->deleteIndex (0);
12:deleteName 删除压缩包中指定的文件$zip->deleteName('word.txt');
ZipArchive类使用示例
1、php使用 ZipArchive 类压缩文件的方法<?php
$zip = new ZipArchive();
$zipname = 'file.zip';
//打开一个压缩文件,如果没则新建一个
$zip->open($zipname, ZipArchive::CREATE);
//添加一个文件到压缩
$zip->addFile('robots.txt');
//添加一个空目录到压缩包中
$zip->addEmptyDir('file');
//添加一个自定义内容的文件
$zip->addFromString('file/txt.txt', '我是要添加的内容!');
$zip->close();
?>
2、php使用 ZipArchive 类解压文件的方法<?php
$zip = new ZipArchive();
if($zip->open('file.zip') === true) {
if(!is_dir('mochu')){ //检测文件是否存在
mkdir('mochu'); //如果文件不存在,则新建
}
$zip->extractTo('mochu'); //将文件解压到 mochu 文件中!
$zip->close();
}
?>
3、php ZipArchive类压缩包操作<?php
$zip = new ZipArchive();
if($zip->open('file.zip') === true) {
//把压缩文件内索引为0的文件修改成newname.txt
$zip->renameIndex(0,'newname.txt');
//把压缩文件内的new.txt修改成newword.txt
$zip->renameName('newname.txt','tip.txt');
//删除压缩文件内索引为0的文件
$zip->deleteIndex(0);
//删除压缩文件的img.png
$zip->deleteName('img.png');
// 关闭zip文件
$zip->close();
}
?>