php 解壓rar文件及zip文件的方法
更新時間:2014年05月05日 16:50:37 作者:
rar文件解壓php沒有直接支持的,不過可以通過下載將非線程安全的dll然后扔到php的ext目錄下,之后按照下面的步驟操作即可
對于zip文件網(wǎng)上的例子很多,rar文件解壓php沒有直接支持,可以用pecl到http://pecl.php.net/package/rar 下載對應(yīng)版本的 非線程安全的dll然后扔到php的 ext目錄下。
打開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);
}
打開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)方法
本篇文章主要是對php調(diào)用C代碼的實(shí)現(xiàn)方法進(jìn)行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助2014-03-03
PHP用mysql數(shù)據(jù)庫存儲session的代碼
大部分使用php的人一旦應(yīng)用到session都會使用cookie。 cookie雖好可是它也會給我們帶來一些隱患的。2010-03-03
火車采集器 免費(fèi)版使出收費(fèi)版本功能實(shí)現(xiàn)原理
火車頭免費(fèi)版本不支持采集結(jié)果的外掛處理,比如采用php來輔助處理結(jié)果,而火車頭本身對于正則表達(dá)式的不完整支持,2009-09-09

