/** * @Title: UnZip * @Description: todo(解压文件) * @param 解压的文件路径 $UnzipUrl * @param 解压后文件的路径 $UnzipPath * @author laicaixia * @date 2013-6-2 上午10:36:51 * @throws */ private function UnZip($UnzipUrl, $UnzipPath) { import("@.ORG.PHPZip"); $archive = new PHPZip(); $zipfile = $UnzipUrl; $savepath = $UnzipPath; //$zipfile = $unzipfile; //$savepath = $unziptarget; $array = $archive->GetZipInnerFilesInfo($zipfile); $filecount = 0; $dircount = 0; $failfiles = array(); set_time_limit(C('PAGE_LIFE_TIME')); //修改为不限制超时时间(默认为30秒) for ($i = 0; $i < count($array); $i++) { if ($array[$i][folder] == 0) { if ($archive->unZip($zipfile, $savepath, $i) > 0) { $filecount++; } else { $failfiles[] = $array[$i][filename]; } } else { $dircount++; } } printf("文件夹:%d 解压文件:%d 失败:%d<br>\r\n", $dircount, $filecount, count($failfiles)); if (count($failfiles) > 0) { foreach ($failfiles as $file) { printf("·%s<br>\r\n", $file); } } }