//文件解压
protected function uzip($filename){
//解压缩 php自带的解压类
$zip = new \ZipArchive;
//要解压的文件
$zipfile = $filename;
$res = $zip->open($zipfile);
if($res!==true){
return false;
}
//要解压到的目录
$toDir = app()->getRootPath() ."/addons/";
if(!file_exists($toDir)) {
mkdir($toDir,755);
}
//获取压缩包中的文件数(含目录)
$docnum = $zip->numFiles;
$addonname="";
//遍历压缩包中的文件
for($i = 0; $i < $docnum; $i++) {
$statInfo = $zip->statIndex($i);
if($statInfo['crc'] == 0) {
if($i==0){
if(is_dir($toDir.'/'.substr($statInfo['name'], 0,-1))){
return false;
}
$addonname=substr($statInfo['name'], 0,-1);
}
//新建目录
mkdir($toDir.'/'.substr($statInfo['name'], 0,-1));
} else {
//拷贝文件
copy('zip://'.$zipfile.'#'.$statInfo['name'], $toDir.'/'.$statInfo['name']);
}
}
return $addonname;
}