素材牛VIP会员

让php实现rar文件的读取和解压

 所属分类:论坛-技术档案

 浏览:963次  评论:0次  发布时间:2016-11-24
文章简介:Windows下安装php_rar 扩展,让php实现rar文件的读取和解压

PHP Rar Archiving 模块 (php_rar) 是一个读取和解压rar文件的模块,但不提供RAR压缩(打包)的功能。

1.首先要到PECL的RAR页面下载DLL. 根据自己的情况选择下载对应版本的DLL.

PHP版本要求:php_rar模块适用于php 5.2及以上, 不过对于windows系统,似乎只有php5.3 / 5.4对应的DLL下载。

2.下载到的是个zip包,将其中的php_rar.pdb和php_rar.dll两个文件解压到PHP安装目录下的ext子目录中。

3.在php.ini中加入一行php_rar扩展引用声明 extension=php_rar.dll

4.如果使用Apache服务器,就需要重启Apache。IIS下以FastCGI模式加载的PHP则不需要进一步操作了。

5.写个测试文件看看有没有问题啊

6.如果有问题,查看服务器的日志文件。

7.如下实例

<?php
$fileName = "index.rar";
//        echo $fileName . '</br>';  
$extractTo = "rars/";
function unzip($fileName,$extractTO){  
      
           // $fileName = iconv('utf-8','gb2312',"upload/zip/8月.rar");  
    //        echo $fileName . '</br>';  
            $extractTo = "rars";  
              
            $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);  
      
        }  
        unzip($fileName);
?>
 标签:phprar

讨论这个项目(0)回答他人问题或分享插件使用方法奖励牛币

 文明上网,理性发言!