PhalApi-Zip--壓縮文件處理類

#PhalApi-Zip -- 壓縮文件處理類git

##前言api

這是筆者在工做中,同事找到的一個比較不錯的文件壓縮類,也通過了實際的使用很不錯因此分享處理,特此鳴謝:@牧魚人服務器

附上:.net

官網地址:http://www.phalapi.net/code

開源中國Git地址:http://git.oschina.net/dogstar/PhalApi/tree/releaseip

開源中國拓展Git地址:http://git.oschina.net/dogstar/PhalApi-Libraryget

##1. 安裝使用it

此擴展只須要簡單的把文件放到Library目錄下便可使用使用方法以下:擴展

$zip = new Zip_Lite();

遍歷指定文件夾foreach

$zip  = new Zip_Lite();
 $filelist = $zip->visitFile(文件夾路徑);
 print "當前文件夾的文件:<p>\r\n";
 foreach($filelist as $file)
     printf("%s<br>\r\n", $file);

壓縮到服務器

$zip = new Zip_Lite();
$zip->Zip("需壓縮的文件所在目錄", "ZIP壓縮文件名");

壓縮並直接下載

$zip = new Zip_Lite();
$zip->ZipAndDownload("需壓縮的文件所在目錄");

解壓文件

$zip   = new Zip_Lite();
 $zipfile   = "ZIP壓縮文件名";
 $savepath  = "解壓縮目錄名";
 $zipfile   = $unzipfile;
 $savepath  = $unziptarget;
 $array     = $zip->GetZipInnerFilesInfo($zipfile);
 $filecount = 0;
 $dircount  = 0;
 $failfiles = array();
 set_time_limit(0);  // 修改成不限制超時時間(默認爲30秒)

 for($i=0; $i<count($array); $i++) {
     if($array[$i][folder] == 0){
         if($zip->unZip($zipfile, $savepath, $i) > 0){
             $filecount++;
         }else{
             $failfiles[] = $array[$i][filename];
         }
     }else{
         $dircount++;
     }
 }
 set_time_limit(30);
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);
    }
}

獲取被壓縮文件的信息

$zip = new Zip_Lite();
$array = $zip->GetZipInnerFilesInfo(ZIP壓縮文件名);
for($i=0; $i<count($array); $i++) {
    printf("<b>&middot;%s</b><br>\r\n", $array[$i][filename]);
    foreach($array[$i] as $key => $value)
       printf("%s => %s<br>\r\n", $key, $value);
    print "\r\n<p>------------------------------------<p>\r\n\r\n";
}

##2. 總結

但願此拓展可以給你們帶來方便以及實用!

注:筆者能力有限有說的不對的地方但願你們可以指出,也但願多多交流!

官網QQ交流羣:421032344 歡迎你們的加入!

相關文章
相關標籤/搜索