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.解压缩zip文件 方法一
$zip = new ZipArchive();//新建一个ZipArchive的对象
if ($zip->open(读取上传文件路径) === TRUE){
$zip->extractTo(解压文件路径);//假设解压缩到在当前路径下p_w_picpaths文件夹的子文件夹php
$zip->close();//关闭处理的zip文件
}
6.解压缩zip文件 方法二
$archive = new PclZip(读取上传文件路径);
if ($archive->extract(PCLZIP_OPT_PATH, 解压文件路径)){ /*data换成其他路径即可*/
//die("Error : ".$archive->errorInfo(true));
} try {
$folder_list = my_scandir(解压文件路径);
} catch (Exception $e) {
}
7.解压缩rar文件
$rar_file = rar_open(读取上传文件路径) or die("Failed to open Rar archive");
$entries = rar_list($rar_file);
foreach ($entries as $entry) {
$entry->extract(解压文件路径); /*/dir/extract/to/换成其他路径即可*/
}
rar_close($rar_file);