亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

PHP zip壓縮包操作類完整實例

2024-05-05 00:04:22
字體:
來源:轉載
供稿:網友

本文實例講述了PHP zip壓縮包操作類。分享給大家供大家參考,具體如下:

<?php/** * Zip 文件包工具 * * @author wengxianhu * @date 2013-08-05 */class ZipFolder{  protected $zip;  protected $root;  protected $ignored_names;  public function __construct(){    $this->zip = new ZipArchive;  }  /**   * 解壓zip文件到指定文件夾   *   * @access public   * @param string $zipfile 壓縮文件路徑   * @param string $path  壓縮包解壓到的目標路徑   * @return booleam 解壓成功返回 true 否則返回 false  */  public function unzip ($zipfile, $path) {    if ($this->zip->open($zipfile) === true) {      $file_tmp = @fopen($zipfile, "rb");      $bin = fread($file_tmp, 15); //只讀15字節 各個不同文件類型,頭信息不一樣。      fclose($file_tmp);      /* 只針對zip的壓縮包進行處理 */      if (true === $this->getTypeList($bin))      {        $result = $this->zip->extractTo($path);        $this->zip->close();        return $result;      }      else      {        return false;      }    }    return false;  }  /**   * 創建壓縮文件   *   * @access public   * @param string $zipfile 將要生成的壓縮文件路徑   * @param strng $folder 將要被壓縮的文件夾路徑   * @param array $ignored 要忽略的文件列表   * @return booleam 壓縮包生成成功返回true 否則返回 false  */   public function zip ($zipfile, $folder, $ignored = null) {    $this->ignored_names = is_array($ignored) ? $ignored : $ignored ? array($ignored) : array();    if ($this->zip->open($zipfile, ZIPARCHIVE::CREATE) !== true) {      throw new Exception("cannot open <$zipfile>/n");    }    $folder = substr($folder, -1) == '/' ? substr($folder, 0, strlen($folder)-1) : $folder;    if(strstr($folder, '/')) {      $this->root = substr($folder, 0, strrpos($folder, '/')+1);      $folder = substr($folder, strrpos($folder, '/')+1);    }    $this->createZip($folder);    return $this->zip->close();  }  /**   * 遞歸添加文件到壓縮包   *   * @access private   * @param string $folder 添加到壓縮包的文件夾路徑   * @param string $parent 添加到壓縮包的文件夾上級路徑   * @return void  */  private function createZip ($folder, $parent=null) {    $full_path = $this->root . $parent . $folder;    $zip_path = $parent . $folder;    $this->zip->addEmptyDir($zip_path);    $dir = new DirectoryIterator($full_path);    foreach($dir as $file) {      if(!$file->isDot()) {        $filename = $file->getFilename();        if(!in_array($filename, $this->ignored_names)) {          if($file->isDir()) {            $this->createZip($filename, $zip_path.'/');          }else {            $this->zip->addFile($full_path.'/'.$filename, $zip_path.'/'.$filename);          }        }      }    }  }  /**   * 讀取壓縮包文件與目錄列表   *   * @access public   * @param string $zipfile 壓縮包文件   * @return array 文件與目錄列表  */  public function fileList($zipfile) {    $file_dir_list = array();    $file_list = array();    if ($this->zip->open($zipfile) == true) {      for ($i = 0; $i < $this->zip->numFiles; $i++) {        $numfiles = $this->zip->getNameIndex($i);        if (preg_match('///$/i', $numfiles))        {          $file_dir_list[] = $numfiles;        }        else        {          $file_list[] = $numfiles;        }      }    }    return array('files'=>$file_list, 'dirs'=>$file_dir_list);  }  /**  * 得到文件頭與文件類型映射表  *  * @author wengxianhu  * @date 2013-08-10  * @param $bin string 文件的二進制前一段字符  * @return boolean  */  private function getTypeList ($bin)  {    $array = array(      array("504B0304", "zip")    );    foreach ($array as $v)    {      $blen = strlen(pack("H*", $v[0])); //得到文件頭標記字節數      $tbin = substr($bin, 0, intval($blen)); ///需要比較文件頭長度      if(strtolower($v[0]) == strtolower(array_shift(unpack("H*", $tbin))))      {        return true;      }    }    return false;  }}

希望本文所述對大家PHP程序設計有所幫助。


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91视频国产一区| 色综合久综合久久综合久鬼88| 欧美精品激情视频| 欧美—级a级欧美特级ar全黄| 欧美日韩亚洲网| 日韩av快播网址| 久久久99久久精品女同性| 亚洲人高潮女人毛茸茸| 欧美贵妇videos办公室| 亚洲欧美日韩久久久久久| 久久国产精品久久久久久| 日韩在线观看网站| 国产xxx69麻豆国语对白| 国内精品模特av私拍在线观看| 国产精品影院在线观看| 日韩动漫免费观看电视剧高清| 亚洲精品日韩久久久| 欧美亚洲视频在线看网址| 欧美激情区在线播放| 国产精品麻豆va在线播放| 国产精品青青在线观看爽香蕉| 欧美日韩在线看| 久久久久久久久91| 美日韩精品免费视频| 精品久久久久久久久久久| 国产亚洲激情在线| 精品毛片三在线观看| 欧美激情第99页| 日韩视频免费中文字幕| 亚洲精品免费在线视频| 国产精品啪视频| 97视频国产在线| 中文字幕国内精品| 97婷婷涩涩精品一区| 国产精品三级久久久久久电影| 欧美性生活大片免费观看网址| 亚洲国产精品视频在线观看| 国产精品扒开腿做| 精品一区二区三区四区| 992tv在线成人免费观看| 91香蕉电影院| 在线看日韩欧美| 日韩亚洲国产中文字幕| 97成人精品区在线播放| 宅男66日本亚洲欧美视频| 久久人人看视频| 国产欧美在线观看| 久久久亚洲天堂| 亚洲国产精品yw在线观看| 国产精品99久久久久久白浆小说| 97精品在线视频| 久久久久久高潮国产精品视| 一本色道久久综合狠狠躁篇的优点| 亚洲天堂男人天堂| 91久久国产综合久久91精品网站| 色婷婷**av毛片一区| 亚洲大胆美女视频| 日韩在线播放视频| 亚洲精品乱码久久久久久金桔影视| 久久精品久久久久电影| 欧美日韩亚洲天堂| 亚洲午夜未满十八勿入免费观看全集| 亚洲精品日韩丝袜精品| 欧美黑人性猛交| 欧美亚洲国产成人精品| 91国产中文字幕| 综合久久五月天| 91亚洲永久免费精品| 亚洲美女免费精品视频在线观看| 亚洲香蕉成人av网站在线观看| www.国产精品一二区| 成人亚洲综合色就1024| 正在播放亚洲1区| 亚洲国产欧美一区| 热久久美女精品天天吊色| 91在线直播亚洲| 最近2019免费中文字幕视频三| 九色91av视频| 欧美猛少妇色xxxxx| 久久久久久久成人| 91网站免费看| 国产不卡av在线免费观看| 国产一区二区色| 最近2019中文免费高清视频观看www99| 18一19gay欧美视频网站| 久久久免费高清电视剧观看| 精品国内产的精品视频在线观看| 国产视频精品一区二区三区| 精品久久久久久久久久久| 亚洲网站在线观看| 全亚洲最色的网站在线观看| 欧美午夜片在线免费观看| 亚洲国产91色在线| 国产亚洲精品久久久| 国产精品综合网站| 国产精品丝袜视频| 国产视频一区在线| 国产成人久久久精品一区| 91精品国产乱码久久久久久蜜臀| 成人福利在线观看| 91久久在线播放| 中文字幕久久久| 一本大道香蕉久在线播放29| 国产99久久精品一区二区 夜夜躁日日躁| 精品少妇v888av| 欧美日韩人人澡狠狠躁视频| 欧美精品在线观看91| 国产精品精品久久久久久| 国产日韩中文字幕| 欧美日韩免费观看中文| zzijzzij亚洲日本成熟少妇| 国产精品一二三在线| 国产精品夜间视频香蕉| 亚洲91精品在线观看| 黑人巨大精品欧美一区二区| 色一情一乱一区二区| 国产精品久久激情| 久久国产精品久久国产精品| 成人写真视频福利网| 国产精品成人免费电影| 欧美大片欧美激情性色a∨久久| 在线性视频日韩欧美| 日韩视频免费大全中文字幕| 精品毛片三在线观看| 亚洲一区二区三区sesese| 亚洲免费av片| 97免费视频在线| 国模精品系列视频| 久久夜精品va视频免费观看| 欧美性猛交xxxx富婆| 精品久久中文字幕久久av| 久久精品国产v日韩v亚洲| 国产精品美腿一区在线看| 国内精品久久久久久久| 欧美裸体视频网站| 国语自产偷拍精品视频偷| 亚洲精品久久在线| 久久精品国产一区二区三区| 国产精品第一视频| 欧美成年人在线观看| 欧美整片在线观看| 日本精品一区二区三区在线| 亚洲男人第一av网站| 亚洲性无码av在线| 欧美电影在线观看完整版| 亚洲夜晚福利在线观看| 日韩精品在线免费| 97精品在线观看| 国产精品久久久久久久7电影| 欧美激情一级欧美精品| 中文字幕日韩综合av| 欧美日韩国产色视频| 成人高h视频在线| 国模精品视频一区二区三区| 亚洲福利视频专区| 国产精品av免费在线观看| 欧美大片免费看| 色阁综合伊人av| 亚洲电影免费在线观看| 精品久久久999| 日韩欧美国产一区二区| 久久男人av资源网站| 国产精品视频一区二区三区四| 在线丨暗呦小u女国产精品|