php 解壓rar文件及zip文件的方法
更新時(shí)間:2014年05月05日 16:50:37 作者:
rar文件解壓php沒(méi)有直接支持的,不過(guò)可以通過(guò)下載將非線程安全的dll然后扔到php的ext目錄下,之后按照下面的步驟操作即可
對(duì)于zip文件網(wǎng)上的例子很多,rar文件解壓php沒(méi)有直接支持,可以用pecl到http://pecl.php.net/package/rar 下載對(duì)應(yīng)版本的 非線程安全的dll然后扔到php的 ext目錄下。
打開(kāi)php.ini.
加一行
extension=php_rar.dll
重啟web服務(wù)器 和php
public function _unzip($fileName,$extractTO){
$fileName = iconv('utf-8','gb2312',"upload/zip/8月.rar");
// echo $fileName . '</br>';
$extractTo = "upload/zip/TEST/";
$rar_file = rar_open($fileName) or die('could not open rar');
$list = rar_list($rar_file) or die('could not get list');
// print_r($list);
foreach($list as $file) {
$pattern = '/\".*\"/';
preg_match($pattern, $file, $matches, PREG_OFFSET_CAPTURE);
$pathStr=$matches[0][0];
$pathStr=str_replace("\"",'',$pathStr);
// print_r($pathStr);
$entry = rar_entry_get($rar_file, $pathStr) or die('</br>entry not found');
$entry->extract($extractTo); // extract to the current dir
}
rar_close($rar_file);
}
打開(kāi)php.ini.
加一行
extension=php_rar.dll
重啟web服務(wù)器 和php
復(fù)制代碼 代碼如下:
public function _unzip($fileName,$extractTO){
$fileName = iconv('utf-8','gb2312',"upload/zip/8月.rar");
// echo $fileName . '</br>';
$extractTo = "upload/zip/TEST/";
$rar_file = rar_open($fileName) or die('could not open rar');
$list = rar_list($rar_file) or die('could not get list');
// print_r($list);
foreach($list as $file) {
$pattern = '/\".*\"/';
preg_match($pattern, $file, $matches, PREG_OFFSET_CAPTURE);
$pathStr=$matches[0][0];
$pathStr=str_replace("\"",'',$pathStr);
// print_r($pathStr);
$entry = rar_entry_get($rar_file, $pathStr) or die('</br>entry not found');
$entry->extract($extractTo); // extract to the current dir
}
rar_close($rar_file);
}
相關(guān)文章
php調(diào)用C代碼的實(shí)現(xiàn)方法
本篇文章主要是對(duì)php調(diào)用C代碼的實(shí)現(xiàn)方法進(jìn)行了介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2014-03-03
PHP用mysql數(shù)據(jù)庫(kù)存儲(chǔ)session的代碼
大部分使用php的人一旦應(yīng)用到session都會(huì)使用cookie。 cookie雖好可是它也會(huì)給我們帶來(lái)一些隱患的。2010-03-03
火車(chē)采集器 免費(fèi)版使出收費(fèi)版本功能實(shí)現(xiàn)原理
火車(chē)頭免費(fèi)版本不支持采集結(jié)果的外掛處理,比如采用php來(lái)輔助處理結(jié)果,而火車(chē)頭本身對(duì)于正則表達(dá)式的不完整支持,2009-09-09
php使用yield對(duì)性能提升的測(cè)試實(shí)例分析
這篇文章主要介紹了php使用yield對(duì)性能提升的測(cè)試,結(jié)合具體實(shí)例形式對(duì)比分析了php使用yield及常規(guī)操作的運(yùn)算耗時(shí)與內(nèi)存占用情況,測(cè)試了yield對(duì)性能的提升大小,需要的朋友可以參考下2019-09-09
最令PHP初學(xué)者們頭痛的十四個(gè)問(wèn)題
最令PHP初學(xué)者們頭痛的十四個(gè)問(wèn)題...2007-01-01
PHP Token(令牌)設(shè)計(jì) 設(shè)計(jì)目標(biāo): 避免重復(fù)提交數(shù)據(jù). 檢查來(lái)路,是否是外部提交 匹配要執(zhí)行的動(dòng)作(如果有多個(gè)邏輯在同一個(gè)頁(yè)面實(shí)現(xiàn),比如新增,刪除,修改放到一個(gè)PHP文件里操作) 這里所說(shuō)的token是在頁(yè)面顯示的時(shí)候,寫(xiě)到FORM的一個(gè)隱藏表單項(xiàng)(type=hidden). token不可明文,如果是明文,那就太危險(xiǎn)了,所以要采用一定的加密方式.密文要可逆.俺算法很白癡,所以采用了網(wǎng)上一個(gè)現(xiàn)成的方法.2008-03-03

