protected function uzip($filename){
$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;
}