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

首頁 > 編程 > PHP > 正文

一個(gè)完整的PHPZIP壓縮類的代碼

2020-03-22 20:17:53
字體:
供稿:網(wǎng)友
  • 本程序可以快速的實(shí)現(xiàn)把我們的文件利用php壓縮類壓縮成我們所需的zip,或者rar 的壓縮包,后綴名可以自定義哦, 壓縮算法是來自國外一個(gè)網(wǎng)站抄的。


    調(diào)用方法:
    首先實(shí)例化,然后傳參。兩個(gè)參數(shù)。第一個(gè)關(guān)于你文件地址的一個(gè)Array。第二個(gè)是要你要保存的壓縮包文件的絕對地址。

    $zipfiles =array("/root/pooy/test1.txt","/root/pooy/test2.txt");$z = new PHPZip();(PS:T不錯(cuò)的PHP Q扣峮:276167802,驗(yàn)證:csl)//$randomstr = random(8); $zipfile = TEMP."/photocome_".$groupid.".zip";$z->Zip($zipfiles, $zipfile);

    調(diào)用代碼:

     GetFileList($dir);            }            if ((!empty($dir))&&(!is_array($dir))&&(file_exists($dir))) chdir($dir);            else chdir($curdir);            if (count($filelist)>0)            {                foreach($filelist as $filename)                {                    if (is_file($filename))                    {                        $fd = fopen ($filename, "r");                        $content = fread ($fd, filesize ($filename));                        fclose ($fd);                        if (is_array($dir)) $filename = basename($filename);                        $this -> addFile($content, $filename);                    }                }                $out = $this -> file();                chdir($curdir);                $fp = fopen($zipfilename, "w");                fwrite($fp, $out, strlen($out));                fclose($fp);            }            return 1;        }        else return 0;    }    function GetFileList($dir)    {        if (file_exists($dir))        {            $args = func_get_args();            $pref = $args[1];            $dh = opendir($dir);            while($files = readdir($dh))            {                if (($files!=".")&&($files!=".."))                {                    if (is_dir($dir.$files))                    {                        $curdir = getcwd();                        chdir($dir.$files);                        $file = array_merge($file, $this -> GetFileList("", "$pref$files/"));                        chdir($curdir);                    }                    else $file[]=$pref.$files;                }            }            closedir($dh);        }        return $file;    }    var $datasec      = array();    var $ctrl_dir     = array();    var $eof_ctrl_dir = "x50x4bx05x06x00x00x00x00";    var $old_offset   = 0;    /**     * Converts an Unix timestamp to a four byte DOS date and time format (date     * in high two bytes, time in low two bytes allowing magnitude comparison).     *     * @param  integer  the html' target='_blank'>current Unix timestamp     *     * @return integer  the current date in a four byte DOS format     *     * @access private     */    function unix2DosTime($unixtime = 0) {        $timearray = ($unixtime == 0) ? getdate() : getdate($unixtime);        if ($timearray['year'] < 1980) {            $timearray['year']    = 1980;            $timearray['mon']     = 1;            $timearray['mday']    = 1;            $timearray['hours']   = 0;            $timearray['minutes'] = 0;            $timearray['seconds'] = 0;        } // end if        return (($timearray['year'] - 1980) << 25) | ($timearray['mon'] << 21) | ($timearray['mday'] << 16) |                ($timearray['hours'] << 11) | ($timearray['minutes'] << 5) | ($timearray['seconds'] >> 1);    } // end of the 'unix2DosTime()' method    /**     * Adds "file" to archive     *     * @param  string   file contents     * @param  string   name of the file in the archive (may contains the path)     * @param  integer  the current timestamp     *     * @access public     */    function addFile($data, $name, $time = 0)    {        $name     = str_replace('', '/', $name);        $dtime    = dechex($this->unix2DosTime($time));        $hexdtime = 'x' . $dtime[6] . $dtime[7]                  . 'x' . $dtime[4] . $dtime[5]                  . 'x' . $dtime[2] . $dtime[3]                  . 'x' . $dtime[0] . $dtime[1];        eval('$hexdtime = "' . $hexdtime . '";');        $fr   = "x50x4bx03x04";        $fr   .= "x14x00";            // ver needed to extract        $fr   .= "x00x00";            // gen purpose bit flag        $fr   .= "x08x00";            // compression method        $fr   .= $hexdtime;             // last mod time and date        // "local file header" segment        $unc_len = strlen($data);        $crc     = crc32($data);        $zdata   = gzcompress($data);        $c_len   = strlen($zdata);        $zdata   = substr(substr($zdata, 0, strlen($zdata) - 4), 2); // fix crc bug        $fr      .= pack('V', $crc);             // crc32        $fr      .= pack('V', $c_len);           // compressed filesize        $fr      .= pack('V', $unc_len);         // uncompressed filesize        $fr      .= pack('v', strlen($name));    // length of filename        $fr      .= pack('v', 0);                // extra field length        $fr      .= $name;        // "file data" segment        $fr .= $zdata;        // "data descriptor" segment (optional but necessary if archive is not        // served as file)        $fr .= pack('V', $crc);                 // crc32        $fr .= pack('V', $c_len);               // compressed filesize        $fr .= pack('V', $unc_len);             // uncompressed filesize        // add this entry to array        $this -> datasec[] = $fr;        $new_offset        = strlen(implode('', $this->datasec));        // now add to central directory record        $cdrec = "x50x4bx01x02";        $cdrec .= "x00x00";                // version made by        $cdrec .= "x14x00";                // version needed to extract        $cdrec .= "x00x00";                // gen purpose bit flag        $cdrec .= "x08x00";                // compression method        $cdrec .= $hexdtime;                 // last mod time & date        $cdrec .= pack('V', $crc);           // crc32        $cdrec .= pack('V', $c_len);         // compressed filesize        $cdrec .= pack('V', $unc_len);       // uncompressed filesize        $cdrec .= pack('v', strlen($name) ); // length of filename        $cdrec .= pack('v', 0 );             // extra field length        $cdrec .= pack('v', 0 );             // file comment length        $cdrec .= pack('v', 0 );             // disk number start        $cdrec .= pack('v', 0 );             // internal file attributes        $cdrec .= pack('V', 32 );            // external file attributes - 'archive' bit set        $cdrec .= pack('V', $this -> old_offset ); // relative offset of local header        $this -> old_offset = $new_offset;        $cdrec .= $name;        // optional extra field, file comment goes here        // save to central directory        $this -> ctrl_dir[] = $cdrec;    } // end of the 'addFile()' method    /**     * Dumps out file     *     * @return  string  the zipped file     *     * @access public     */    function file()    {        $data    = implode('', $this -> datasec);        $ctrldir = implode('', $this -> ctrl_dir);        return            $data .            $ctrldir .            $this -> eof_ctrl_dir .            pack('v', sizeof($this -> ctrl_dir)) .  // total # of entries "on this disk"            pack('v', sizeof($this -> ctrl_dir)) .  // total # of entries overall            pack('V', strlen($ctrldir)) .           // size of central dir            pack('V', strlen($data)) .              // offset to start of central dir            "x00x00";                             // .zip file comment length    } // end of the 'file()' method} // end of the 'PHPZip' class?>

    出處!http://bbs.tsingyuan.cn/forum.php?mod=viewthread&tid=1230
    PHP編程

    鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。

  • 發(fā)表評論 共有條評論
    用戶名: 密碼:
    驗(yàn)證碼: 匿名發(fā)表
    国内精品偷拍| 久久久久88色偷偷| 欧美一区免费看| 无码少妇精品一区二区免费动态| 精品国产视频在线观看| 正在播放亚洲精品| 亚洲香蕉伊在人在线观| 一分钟免费观看视频播放www| 午夜视频免费看| 国产精品一区一区三区| 久操精品在线| 国产原创一区二区三区| 日韩伦理一区二区三区av在线| 欧美自拍偷拍午夜视频| 亚洲欧美一二三区| av一区二区三区四区| 黄视频在线免费| 欧美一级专区免费大片| 7777女厕盗摄久久久| 一区二区三区在线电影| 欧美电视剧在线看免费| 亚洲黄色av| 亚洲精选视频免费看| 99精品热视频| 亚洲视频在线观看一区| 自拍偷拍亚洲激情| 91免费欧美精品| 国产精品区一区二区三| 88av在线播放| 性少妇videosexfreexxx片| 欧美国产乱子伦| 亚洲综合色站| 中文字幕导航| 国产午夜视频在线观看| 亚洲高清av在线| 这里只有精品在线播放| 免费成人av在线| 精品一区亚洲| 天天操夜夜操国产精品| 九九热99视频| 久久久青草婷婷精品综合日韩| 欧美偷拍第一页| 亚洲免费观看高清完整版在线观看熊| 精品亚洲一区二区三区| 国产精品黄色影片导航在线观看| 四虎影视2018在线播放alocalhost| 麻豆传媒视频在线| 在线观看视频欧美| 97人妻精品一区二区三区视频| 免费在线视频一区| 亚洲一区二区欧美激情| 亚洲黄色免费在线观看| 日本不卡视频一区二区| 99精品视频在线免费观看| 欧美aaa在线| 欧美日韩国产一区在线| 久久国产精品-国产精品| 亚洲精品一区二区三区在线播放| 日本黄色中文字幕| 亚洲国产va精品久久久不卡综合| 国产精品无码一区二区三区免费| 欧美一区二区三区免费观看| 国产欧美久久久久久| 97久久综合区小说区图片区| 中文文字幕一区二区三三| 午夜诱惑痒痒网| 欧美一区二区三区不卡视频| 9191久久久久久久久久久| 亚洲第一二三四五区| 亚洲欧美精品一区二区三区| 都市激情亚洲| 久久精品国产亚洲一区二区| 性插视频在线观看| 乱人伦中文字幕在线zone| 中文乱码人妻一区二区三区视频| 久久人体视频| 免费电影网站在线观看| 欧美丝袜在线观看| 欧美极品中文字幕| 日韩成人高清视频| 久久免费视频一区| 视频1区2区3区| 美女国产在线| 国内一级毛片| 天天堂资源网在线观看免费视频| 精品中文字幕在线2019| 粉嫩精品导航导航| 奇米色欧美一区二区三区| 男人的天堂va| 黄色免费网站观看| 99久久精品费精品国产| 精品成人免费观看| 久久99国产精品自在自在app| 亚洲制服欧美久久| 天堂v在线观看| 欧美a级片视频| 国产精品美女久久久久久不卡| 国产一二三区av| 亚洲区 欧美区| 日韩不卡高清| 日韩精品欧美大片| 精品日韩欧美一区二区| 成人激情小说乱人伦| jizz性欧美10| 九九九久久国产免费| 高h视频在线观看| 亚洲精品视频一二三| 91av在线免费视频| 91老司机在线| 蜜桃av一区二区三区电影| 亚洲一区二区三区在线免费观看| 久久观看最新视频| brazzers在线观看| 亚洲国产综合91精品麻豆| 日韩av超清在线观看| 乱人伦中文视频在线| 久久一区免费| 久久午夜剧场| 欧美久久婷婷综合色| 午夜影视一区二区三区| 91video| 成人精品小蝌蚪| 亚洲熟女乱综合一区二区三区| 日韩**中文字幕毛片| 一区二区三区欧美精品| 五月婷婷狠狠干| 一本一道综合狠狠老| 国产精品一区av| 国产精品综合久久久久久| 成人手机在线视频| 婷婷激情四射网| 宅男在线精品国产免费观看| 色噜噜久久综合| 三区四区不卡| 亚洲最大成人在线观看| 欧美专区在线观看| 亚洲激情亚洲| 91网站最新网址| 无码人妻久久一区二区三区| 免费国产高清| 国产精品成人久久电影| 国产精品一区二区三区av| 啊啊啊好爽视频| 日本黄网免费一区二区精品| 亚洲精品国产精品国自产在线| 久久99国产精品久久99大师| 久久精品国产成人精品| 国产精品网站在线播放| 在线看片你懂的| 日韩成人三级视频| 一级黄色在线观看| 国产免费一区二区三区视频| 19j韩国主播韩宝贝在线| 日韩欧美资源站| 亚洲综合视频一区| a级黄色免费视频| 中文字幕精品—区二区| 综合伊人久久| 亚洲综合免费视频| 日日噜噜噜噜久久久精品毛片| 国产精品不卡在线观看| 欧美猛男男男激情videos| 午夜免费高清视频| 欧美日韩一区二区三区四区五区| 亚洲一区亚洲| 三级做a全过程在线观看| 在线精品视频一区二区| 伊人伊人伊人久久| 四虎精品一区二区三区| 日本10禁啪啪无遮挡免费一区二区| 日韩av在线最新| 91精品国自产在线观看| 亚洲女性喷水在线观看一区| 国产香蕉精品视频一区二区三区| 亚洲精品久久7777| 国产在线视频精品一区| 香蕉人人精品| 在线观看黄av| 亚洲国产高清在线观看视频| 色视频免费版高清在线观看| 视频一区视频二区中文字幕| 国产又大又黄又粗又爽| 亚洲男女视频在线观看| 亚洲国产精品第一页| 全部免费的黄色毛片| 欧美久久久久久久久久久久久| 中文字幕久热精品视频免费| 久久网免费视频| 婷婷无套内射影院| 黄黄的网站在线观看| 午夜少妇久久久久久久久| 午夜在线免费视频| 国产精品美女主播在线观看纯欲| 婷婷久久国产对白刺激五月99| 日韩av观看网址| 黄色片视频免费| 在线观看免费黄网站| 国产又粗又硬又长| 欧美激情视频一区二区三区在线播放| 欧洲猛交xxxx乱大交3| 日本天码aⅴ片在线电影网站| 超碰免费公开在线| 成人免费一区二区三区视频网站| 黄网址在线永久免费观看| 国产香蕉视频在线看| 欧美精品一区二区视频| 最近中文字幕免费在线观看| 免费日韩一区二区三区| 色视频一区二区| 好吊色欧美一区二区三区四区| 国产精品久久久久久久乖乖| 亚洲欧美丝袜中文综合| 99这里只有久久精品视频| 国产欧美一区在线| 久久性感美女视频| 妞干网免费视频| 精品亚洲国产成人av制服丝袜| av超碰在线观看| 中文字幕一区图| 97精品国产综合久久久动漫日韩| 免费羞羞视频网站| 色大18成网站www在线观看| 欧美大片在线看免费观看| 成人av电影在线观看| 亚洲小说图片| 美女91精品| 成人ww免费完整版在线观看| 国产丝袜在线播放| 免费一级片91| 91九色对白| 成人国产精品一区二区网站| 国产精品毛片久久久久久| 在线视频手机国产| 国产大尺度在线观看| 天堂在线资源网| 久草中文综合在线| 欧美日韩色婷婷| 免费不卡中文字幕视频| 成人免费视频播放| 小小的日本在线观看免费色网| 亚洲第一搞黄网站| 国产精品久久久久久久免费大片| 热久久视久久精品18亚洲精品| 8×8x拔擦拔擦在线视频网站| 欧美多人爱爱视频网站| 久久天天狠狠| 久久久国产精品人人片| 免费偷拍视频网站| 一级毛片免费观看| 亚洲3atv精品一区二区三区| 日韩一卡二卡三卡国产欧美| 中文字幕免费在线视频| 欧美大波大乳巨大乳| 99热精品在线观看| 精品国产乱码久久久久久牛牛| 国产免费一区二区三区| 又紧又大又爽精品一区二区| 青青草影院在线观看| 中文字幕国产精品| 精品国产乱码久久久久久丨区2区| 中出中文字幕| 亚洲成人精品综合在线| 456成人影院在线观看| 亚洲第一av在线| 欧美性猛xxx| 成人黄色av网站| 国产美女av| 日韩伦理电影网站| 97在线免费| 国产三级欧美三级日产三级99| 88av在线视频| 国产精品一区二区3区| 免费观看四虎精品成人| 最近中文字幕一区二区三区| 免费一级黄色录像| av老司机免费在线| 久久网站最新地址| 日韩免费一区二区| 亚洲一区二区三区视频在线| 精品国产拍在线观看| 中文字幕视频在线免费欧美日韩综合在线看| 日本性生活一级片| 黑人精品xxx一区一二区| 国产日韩在线观看av| 99re6热在线精品视频播放| 国产日韩在线观看一区| 肉色超薄丝袜脚交69xx图片| 欧美日韩高清在线观看| 精品人妻在线视频| 国产一区二区在线免费| 欧美三级韩国三级日本一级| 国产精品传媒精东影业在线| 在线观看av一区二区| 国产三区在线成人av| 日本91av在线播放| 日韩丝袜情趣美女图片| 欧美成人激情图片网| 日本天堂一区| 亚洲精品精品一区| 国产乱妇无码大片在线观看| 国产不卡高清在线观看视频| 日韩电影大片中文字幕| 91亚洲国产成人精品一区| 黄色成人在线播放| 国产乱人伦偷精品视频免下载| 亚洲自拍小视频免费观看| 最新中文字幕亚洲| 久久99精品久久久久久国产越南| 日韩av影视| 欧美精品一区二区三区蜜桃视频| 国产乱子伦农村叉叉叉| 日韩一级免费一区| 自拍偷拍亚洲天堂| 亚洲欧洲另类国产综合| 自拍偷拍电影| 午夜精品一区在线观看| 国产精品久久777777毛茸茸| www.99精品| 精品欧美国产一区二区三区不卡| 91美女片黄在线| 日韩高清二区| 国产精品成人aaaaa网站| 一本一道久久a久久精品综合蜜臀| 亚洲天堂网中文字| 欧美日韩性视频在线| 九热视频在线观看| 中文字幕久久精品一区二区| 亚洲欧美综合图片|