ZipArchive::addEmptyDir
添加一个新的文件目录
ZipArchive::addFile 将文件添加到指定zip压缩包中。
ZipArchive::addFromString 添加的文件同时将内容添加进去
ZipArchive::close 关闭ziparchive
ZipArchive::extractTo 将压缩包解压
ZipArchive::open 打开一个zip压缩包
ZipArchive::getStatusString 返回压缩时的状态内容,包括错误信息,压缩信息等等
ZipArchive::deleteIndex 删除压缩包中的某一个文件,如:deleteIndex(0)删除第一个文件
ZipArchive::deleteName 删除压缩包中的某一个文件名称,同时也将文件删除。
实例 addEmptyDir添加空目录可嵌套
$dir = dirname(__FILE__);
$zip = new ZipArchive;
if($zip->open($dir."/test/test.zip") === true) { //打开文件
//创建新的文件目录
if($zip->addEmptyDir("newt")){
echo "add success";
} else {
echo "error";
}
} else {
echo "open error";
}
如果我们向创建两层三层或者更多的目录只需要 使用 目录结构就行了,比如我们向创建newt下还一个news目录,则修改
$zip->addEmptyDir("newt/news")这样既可
addFile:想压缩文件中添加文件
$dir = dirname(__FILE__);
$zip = new ZipArchive;
if($zip->open($dir."/test/test.zip") === true) { //打开文件
$zip->addFile($dir.'/phpinfo.php',"phpinfo.php");
$zip->close();
} else {
echo "open error";
}
注意:如果不用第二个参数,则默认是将整个盘添加到了压缩文件
addFromString 想压缩文件中添加文件并设置文件的内容
$dir = dirname(__FILE__);
$zip = new ZipArchive;
if($zip->open($dir."/test/test.zip") === true) { //打开文件
$zip->addFromString('test.php', 'this is a test content!');
$zip->close();
} else {
echo "open error";
}
打开压缩文件 test.zip 可以看到新创建的test.php,打开后里面的内容为file content goes here!
deleteIndex当里面包含了文件夹和文件时,例如我的zip目录下有 new1/sss1 new2/sss2 info.php test.php 我使用
$zip->deleteIndex(1) 反复试验删除的时候发现并不准确,所以还是建议使用deleteName进行删除
当压缩文件根目录里只有一个文件或者文件夹的时候,只有删除压缩文件,不能对该压缩文件中的文件进行删除操作
extractTo 解压一个zip压缩文件到指定目录下
$dir = dirname(__FILE__);
$zip = new ZipArchive;
if($zip->open($dir."/test/test.zip") === true) { //打开文件
$zip->extractTo($dir.'/test');
$zip->close();
} else {
echo "open error";
}
ZipArchive::addFile 将文件添加到指定zip压缩包中。
ZipArchive::addFromString 添加的文件同时将内容添加进去
ZipArchive::close 关闭ziparchive
ZipArchive::extractTo 将压缩包解压
ZipArchive::open 打开一个zip压缩包
ZipArchive::getStatusString 返回压缩时的状态内容,包括错误信息,压缩信息等等
ZipArchive::deleteIndex 删除压缩包中的某一个文件,如:deleteIndex(0)删除第一个文件
ZipArchive::deleteName 删除压缩包中的某一个文件名称,同时也将文件删除。
实例 addEmptyDir添加空目录可嵌套
$dir = dirname(__FILE__);
$zip = new ZipArchive;
if($zip->open($dir."/test/test.zip") === true) { //打开文件
//创建新的文件目录
if($zip->addEmptyDir("newt")){
echo "add success";
} else {
echo "error";
}
} else {
echo "open error";
}
如果我们向创建两层三层或者更多的目录只需要 使用 目录结构就行了,比如我们向创建newt下还一个news目录,则修改
$zip->addEmptyDir("newt/news")这样既可
addFile:想压缩文件中添加文件
$dir = dirname(__FILE__);
$zip = new ZipArchive;
if($zip->open($dir."/test/test.zip") === true) { //打开文件
$zip->addFile($dir.'/phpinfo.php',"phpinfo.php");
$zip->close();
} else {
echo "open error";
}
注意:如果不用第二个参数,则默认是将整个盘添加到了压缩文件
addFromString 想压缩文件中添加文件并设置文件的内容
$dir = dirname(__FILE__);
$zip = new ZipArchive;
if($zip->open($dir."/test/test.zip") === true) { //打开文件
$zip->addFromString('test.php', 'this is a test content!');
$zip->close();
} else {
echo "open error";
}
打开压缩文件 test.zip 可以看到新创建的test.php,打开后里面的内容为file content goes here!
deleteIndex当里面包含了文件夹和文件时,例如我的zip目录下有 new1/sss1 new2/sss2 info.php test.php 我使用
$zip->deleteIndex(1) 反复试验删除的时候发现并不准确,所以还是建议使用deleteName进行删除
当压缩文件根目录里只有一个文件或者文件夹的时候,只有删除压缩文件,不能对该压缩文件中的文件进行删除操作
extractTo 解压一个zip压缩文件到指定目录下
$dir = dirname(__FILE__);
$zip = new ZipArchive;
if($zip->open($dir."/test/test.zip") === true) { //打开文件
$zip->extractTo($dir.'/test');
$zip->close();
} else {
echo "open error";
}