windows安装方法
1.下载扩展
下载地址:http://pecl.php.net/package/rar/3.0.2/windows
根据PHP对应版本下载。
例如我的PHP版本是5.5,64位,且是TS(线程安全)版,那么就下载http://windows.php.net/downloads/pecl/releases/rar/3.0.2/php_rar-3.0.2-5.5-ts-vc11-x64.zip
可以通过查看phpinfo里面的Thread Safety 项,如果是enabled,一般来说应该是ts版,否则是nts版。
2 安装扩展
2.1 下载并解压后,将php_rar.dll文件拷贝至PHP的扩展安装目录(通常在php安装目录下的ext目录,可以通过phpinfo中的extension_dir项查看)
2.2 编辑php.ini文件,加入extension=php_rar.dll
2.3 重启服务器
重启后,在phpinfo里面看到如下信息,则表示安装成功:
Linux安装方法
1.下载扩展
下载地址:http://pecl.php.net/package/rar
2 安装扩展
运行以下命令完成安装:
gunzip rar-3.0.2.tgz
tar -xvf rar-3.0.2.tar
cd rar-3.0.2
phpize
./configure && make && make install
安装完成后,php的扩展目录会自动出现rar.so文件,只需在php.ini文件中引入即可。
编辑php.ini,加入以下代码:
extension=rar.so
重启服务器即可。
针对宝塔环境
gunzip rar-4.2.0.tgz
tar -xvf rar-4.2.0.tar
/www/server/php/73/bin/phpize
./configure --with-php-config=/www/server/php/73/bin/php-config
make && make install
注意 替换phpize和php-config的路径
PHP解压rar代码:
function unrar($fileName,$extractTo){
$fileName = iconv('utf-8','gb2312',$fileName);
$rar_file = rar_open($fileName) or die('could not open rar');
$list = rar_list($rar_file) or die('could not get list');
foreach($list as $file) {
$pattern = '/\".*\"/';
preg_match($pattern, $file, $matches, PREG_OFFSET_CAPTURE);
$pathStr=$matches[0][0];
$pathStr=str_replace("\"",'',$pathStr);
$entry = rar_entry_get($rar_file, $pathStr) or die('entry not found');
$entry->extract($extractTo); // extract to the current dir
}
rar_close($rar_file);
}