使用条件
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为需要解压到的路径,需要注意的目录的权限