PHP解压缩zip文件,使用类ZipArchiv


使用条件

1.首先要保证php版本(>php 5.2)

2.保证php_zip.dll 扩展可用,打开php.ini配置文件找到并修改,然后重启服务器(apache等,千万别往)


下面介绍一下最基本用法,其他的可以查阅官网

mixed ZipArchive::open ( string $filename [, int $flags ] )  ,打开一个zip文件用于操作

第2个参数讲解 
ZIPARCHIVE::OVERWRITE    总是创建一个新的文件,如果指定的zip文件存在,则会覆盖掉 
ZIPARCHIVE::CREATE        如果指定的zip文件不存在,则新建一个 
ZIPARCHIVE::EXCL        如果指定的zip文件存在,则会报错    

bool ZipArchive::extractTo( string $destination [, mixed $entries ] ) ,解压zip文件


假设你有一个test.zip文件

<?php 
$zip = new ZipArchive;
$res = $zip->open('test.zip');
if ($res === TRUE) {
echo 'ok';
//解压缩到test文件夹
$zip->extractTo('test');
$zip->close();
} else {
echo 'failed, code:' . $res;
}
?>


这样解压出来的文件目录是test,有的时候你想用别的目录替代test,可以这么做

<?php 
$zip = new ZipArchive;
$res = $zip->open('test.zip');
if ($res === TRUE) {
for($i = 0; $i < $zip->numFiles; $i++) {
$filename = $zip->getNameIndex($i);
$fileinfo = pathinfo($filename);
copy("zip://".$file."#".$filename, $path.$fileinfo['basename']);
}
$zip->close();
}

$path为需要解压到的路径,需要注意的目录的权限


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
  © 2014-2022 ITdaan.com 联系我们: