Пример #1
0
 /**
  * @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&nbsp;&nbsp;&nbsp;&nbsp;解压文件:%d&nbsp;&nbsp;&nbsp;&nbsp;失败:%d<br>\r\n", $dircount, $filecount, count($failfiles));
     if (count($failfiles) > 0) {
         foreach ($failfiles as $file) {
             printf("&middot;%s<br>\r\n", $file);
         }
     }
 }