PHP安装rar扩展实现对rar文件的解压和压缩back

发布于 2021-03-28  1.51k 次阅读  共 1272 字


windows安装方法

1.下载扩展

下载地址:http://pecl.php.net/package/r...

根据PHP对应版本下载。

例如我的PHP版本是5.5,64位,且是TS(线程安全)版,那么就下载

http://windows.php.net/downloa...

可以通过查看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);
}