中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

php實現的zip文件內容比較類
來源:易賢網 閱讀:1195 次 日期:2014-09-29 11:58:27
溫馨提示:易賢網小編為您整理了“php實現的zip文件內容比較類”,方便廣大網友查閱!

本文實例講述了php實現的zip文件內容比較類。是一個非常實用的PHP類文件。分享給大家供大家參考。具體分析如下:

該php zip文件比較類主要實現比較兩個zip文件的內容,返回新增,刪除,及相同的文件列表。暫時只支持單層。

需求:上傳一個zip文件,zip內有很多圖片文件。需要對圖片文件進行一系列很耗時的處理。當用戶再更新zip文件時。判斷zip內文件是否一致,只處理不同的文件。這樣可以節省資源與時間,因此需要編寫一個能夠比較zip內文件的類。

ZipCompare.class.php類文件如下:

?123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 <?php /** Zip Compare class 比較兩個zip文件的內容,返回新增,刪除,及相同的文件列表,暫時只支持單層 * Date: 2014-05-18 * Author: fdipzone * Ver: 1.0 * * Func: * public compare 比較zip文件內容 * private getInfo 獲取zip內文件列表 * private parse 分析兩個zip的文件內容 * private check 檢查zip文件是否正確 * private check_handler 檢查服務器是否有安裝unzip */ class ZipCompare{ // class start /** 比較zip文件內容,列出不相同的部分 * @param String $zipfile1 zip文件1 * @param String $zipfile2 zip文件2 * @return Array */ public function compare($zipfile1, $zipfile2){ // 檢查是否有安裝unzip if(!$this->check_handler()){ throw new Exception('unzip not install'); } // 檢查zip文件 if(!$this->check($zipfile1) || !$this->check($zipfile2)){ throw new Exception('zipfile not exists or error'); } // 獲取zip內文件列表 $zipinfo1 = $this->getInfo($zipfile1); $zipinfo2 = $this->getInfo($zipfile2); // 分析兩個zip的文件內容,返回相同及不同的文件列表 return $this->parse($zipinfo1, $zipinfo2); } /** 獲取zip內文件列表 * @param String $zipfile zip文件 * @return Array zip內文件列表 */ private function getInfo($zipfile){ // unzip -v fields $fields = array('Length','Method','Size','Cmpr','Date','Time','CRC-32','Name'); // zip verbose $verbose = shell_exec(sprintf("unzip -v %s | sed '\$d' | sed '\$d' | sed -n '4,\$p'", $zipfile)); // zip info $zipinfo = array(); $filelist = explode("\n", $verbose); if($filelist){ foreach($filelist as $rowdata){ if($rowdata==''){ continue; } $rowdata = preg_replace('/[ ]{2,}/', ' ', $rowdata); // 將兩個或以上空格替換為一個 $tmp = array_slice(explode(' ', $rowdata), 1); // 去掉第一個空格 $file = array_combine($fields, $tmp); $zipinfo[$file['Name']] = $file['Length'].'_'.$file['CRC-32']; // 文件名,長度,CRC32,用于校驗 } } return $zipinfo; } /** 分析兩個zip文件內容 * @param String $zipinfo1 * @param String $zipinfo2 * @return Array */ private function parse($zipinfo1, $zipinfo2){ $result = array( 'add' => array(), // 新增 'del' => array(), // 缺少 'match' => array() // 匹配 ); if($zipinfo1 && $zipinfo2){ // 在zip1但不在zip2的文件 $result['add'] = array_values(array_diff(array_keys($zipinfo1), array_keys($zipinfo2))); // 在zip2但不在zip1的文件 $result['del'] = array_values(array_diff(array_keys($zipinfo2), array_keys($zipinfo1))); // 同時在zip1與zip2的文件 $match_file = array_values(array_diff(array_keys($zipinfo1), $result['add'])); // 檢查相同文件名的文件內容是否匹配 for($i=0,$len=count($match_file); $i<$len; $i++){ if($zipinfo1[$match_file[$i]]==$zipinfo2[$match_file[$i]]){ // match array_push($result['match'], $match_file[$i]); }else{ // not match, change to add array_push($result['add'], $match_file[$i]); } } } return $result; } /** 檢查zip文件是否正確 * @param String $zipfile zip文件 * @return boolean */ private function check($zipfile){ // 文件存在且能解壓 return file_exists($zipfile) && shell_exec(sprintf('unzip -v %s | wc -l', $zipfile))>1; } /** 檢查服務器是否有安裝unzip * @return boolean */ private function check_handler(){ return strstr(shell_exec('unzip -v'), 'version')!=''; } } // class end ?>

demo示例程序如下:

?123456789 <?php require "ZipCompare.class.php"; $obj = new ZipCompare(); $result = $obj->compare('test1.zip','test2.zip'); print_r($result); ?>

執行后輸出:

?1234567891011121314151617181920212223242526272829303132 Array ( [add] => Array ( [0] => 9.jpg ) [del] => Array ( [0] => 5.jpg [1] => 6.jpg [2] => 7.jpg [3] => 8.jpg ) [match] => Array ( [0] => 1.jpg [1] => 10.jpg [2] => 11.jpg [3] => 12.jpg [4] => 13.jpg [5] => 14.jpg [6] => 15.jpg [7] => 16.jpg [8] => 17.jpg [9] => 18.jpg [10] => 2.jpg [11] => 3.jpg [12] => 4.jpg ) )

更多信息請查看IT技術專欄

更多信息請查看網絡編程
易賢網手機網站地址:php實現的zip文件內容比較類
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026上岸·考公考編培訓報班

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
亚洲一区二区3| 国产精品a久久久久久| 久久国产精品99国产精| 国产精品美女久久久浪潮软件 | 99热这里只有精品8| 欧美日韩国产二区| 亚洲专区国产精品| 国产有码一区二区| 欧美成人在线影院| 亚洲欧美日韩中文视频| 黄色精品一区二区| 欧美激情国产精品| 亚洲私人影院| 好吊色欧美一区二区三区四区 | 国产精品视频免费| 久久久久久有精品国产| 日韩视频在线观看一区二区| 国产精品日韩欧美| 欧美成人免费网| 久久久91精品国产一区二区精品| 国产亚洲精品久久飘花 | 欧美福利视频在线| 亚洲欧美在线看| 亚洲国产欧美另类丝袜| 国产精品盗摄久久久| 久久久久久亚洲精品杨幂换脸| 亚洲美女色禁图| 国内精品久久久久久久影视麻豆 | 亚洲精品乱码久久久久久久久| 欧美性事免费在线观看| 免费成人黄色| 性欧美暴力猛交另类hd| 99在线热播精品免费| 在线观看91精品国产麻豆| 国产精品色一区二区三区| 欧美乱在线观看| 蜜桃av一区二区三区| 久久av二区| 欧美一区二区黄| 亚洲婷婷在线| 一本色道久久88综合亚洲精品ⅰ | 亚洲理论在线| 亚洲高清不卡一区| 国产专区精品视频| 国产精品婷婷| 国产精品第一区| 欧美日韩123| 欧美国产91| 欧美xxxx在线观看| 久久女同互慰一区二区三区| 欧美在线观看视频| 久久国产精品高清| 久久国产视频网| 久久av一区二区三区| 午夜精品影院| 欧美在线免费播放| 久久aⅴ乱码一区二区三区| 久久疯狂做爰流白浆xx| 欧美在线观看一区二区| 久久久.com| 美女网站久久| 欧美高清在线视频| 欧美精品免费在线| 欧美日韩一区二区三区四区在线观看 | 裸体女人亚洲精品一区| 久久久999精品| 久久综合中文色婷婷| 国产美女精品视频免费观看| 欧美性做爰毛片| 国产精品一区二区久久| 国产亚洲欧美另类一区二区三区| 国产一区二区剧情av在线| 国自产拍偷拍福利精品免费一| 国产一在线精品一区在线观看| 激情久久五月天| 亚洲三级电影全部在线观看高清| 夜夜嗨av一区二区三区网页| 亚洲免费一在线| 久久久久久穴| 欧美理论电影在线观看| 国产精品高潮呻吟久久| 国产一区二区毛片| 亚洲欧洲久久| 亚洲欧美在线x视频| 久久中文在线| 欧美日韩一区二区三区在线| 国产欧美日韩亚州综合| 亚洲黄色高清| 亚洲综合首页| 欧美激情视频一区二区三区免费| 国产精品久久久久久久午夜片| 国产午夜精品全部视频播放| 亚洲欧洲精品成人久久奇米网| 亚洲一区二区三区四区五区黄| 久久久久久尹人网香蕉| 欧美三级乱码| 亚洲国产精品一区二区第四页av | 1000部国产精品成人观看| 亚洲精品在线视频| 久久se精品一区精品二区| 欧美精品一区二区三区很污很色的 | 国产农村妇女精品一区二区| 永久域名在线精品| 亚洲一区二区不卡免费| 免费亚洲电影在线观看| 国产日韩欧美一区二区三区四区| 亚洲精品欧洲精品| 久久综合九色| 国产日产精品一区二区三区四区的观看方式| 亚洲电影自拍| 久久久xxx| 国产欧美va欧美不卡在线| 日韩午夜精品视频| 美女国产一区| 国产一区二区三区在线观看精品| 一本在线高清不卡dvd| 欧美成人a视频| 在线日韩av片| 久久久免费精品视频| 国产欧美日韩亚州综合| 欧美午夜不卡视频| 亚洲精品午夜精品| 另类av导航| 亚洲精品一级| 另类综合日韩欧美亚洲| 黑人操亚洲美女惩罚| 午夜视频一区二区| 亚洲综合丁香| 国产精品v欧美精品∨日韩| 日韩西西人体444www| 欧美精品一区二区三区视频| 91久久一区二区| 欧美伦理在线观看| 日韩一区二区久久| 欧美日韩国产影片| 宅男66日本亚洲欧美视频| 欧美日韩色婷婷| 亚洲永久网站| 国产日韩一区在线| 久久国产免费| 91久久精品国产| 欧美日韩a区| 一本一道久久综合狠狠老精东影业| 欧美日韩高清免费| 中日韩高清电影网| 国产精品美女主播| 久久精品视频免费播放| 在线欧美电影| 欧美啪啪一区| 午夜精品久久久久久久99黑人| 国产日产精品一区二区三区四区的观看方式| 亚洲一区免费网站| 国模私拍视频一区| 欧美激情一区二区三区在线视频观看 | 亚洲一区国产一区| 欧美午夜一区二区福利视频| 午夜一级在线看亚洲| 黄色一区二区三区四区| 欧美xx视频| 亚洲免费中文字幕| 影音先锋久久久| 欧美日韩在线视频一区二区| 午夜精品国产更新| 尤物yw午夜国产精品视频| 欧美精品999| 午夜亚洲性色福利视频| 亚洲电影欧美电影有声小说| 欧美日韩ab| 久久久久女教师免费一区| 亚洲人线精品午夜| 国产精品久久综合| 久久综合伊人77777尤物| 亚洲香蕉视频| 亚洲精品国产精品国自产观看浪潮| 欧美日韩亚洲精品内裤| 久久久久久亚洲综合影院红桃| 一区二区三区免费观看| 好吊色欧美一区二区三区四区| 欧美精品入口| 久久精品一区二区三区不卡牛牛 | 伊人成人开心激情综合网| 欧美剧在线免费观看网站| 欧美一级久久久| 夜夜爽99久久国产综合精品女不卡 | **性色生活片久久毛片| 欧美日韩一二三区| 欧美成人亚洲成人日韩成人| 欧美一区二区三区在线视频 | 亚洲欧美国产不卡| 亚洲国产另类久久久精品极度| 国产精品综合久久久| 欧美日韩视频一区二区三区| 久久精品国产欧美激情| 亚洲影院免费| 一二三区精品福利视频| 亚洲三级免费电影| 亚洲国产老妈| 亚洲高清视频在线观看| 狠狠久久综合婷婷不卡| 国产亚洲网站|