php 解压rar文件及zip文件的方法
程序员文章站
2022-06-19 19:10:28
对于zip文件网上的例子很多,rar文件解压php没有直接支持,可以用pecl到http://pecl.php.net/package/rar 下载对应版本的 非线程安全的...
对于zip文件网上的例子很多,rar文件解压php没有直接支持,可以用pecl到http://pecl.php.net/package/rar 下载对应版本的 非线程安全的dll然后扔到php的 ext目录下。
打开php.ini.
加一行
extension=php_rar.dll
重启web服务器 和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服务器 和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);
}