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