Windows下安装php_rar 扩展,让php实现rar文件的读取和解压

2957

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);
                         
?>

文章来源:http://www.sucaihuo.com/topic/147.html