open($src_file) === TRUE) { if(!is_dir($dest_dir)) mkdir($dest_dir,0775,true); $docnum = $zip->numFiles; for($i = 0; $i < $docnum; $i++) { $statInfo = $zip->statIndex($i,\ZipArchive::FL_ENC_RAW); $filename = $this->transcoding($statInfo['name']); if($statInfo['crc'] == 0) { //新建目录 if(!is_dir($dest_dir.'/'.substr($filename, 0,-1))) mkdir($dest_dir.'/'.substr($filename, 0,-1),0775,true); } else { //拷贝文件 $fileList[] = $dest_dir.'/'.$filename; @copy('zip://'.$src_file.'#'.$zip->getNameIndex($i), $dest_dir.'/'.$filename); } } $zip->close(); return $fileList; }else{ return false; } } } ?>