当前位置:首页 > PHP教程 > php应用 > 列表

php解压缩zip和rar压缩包文件的方法

发布:smiling 来源: PHP粉丝网  添加日期:2021-12-04 16:59:24 浏览: 评论:0 

项目涉及文档处理,用户上传的包括 zip 和 rar 压缩包,需要先将压缩包解压后再作处理。对于 zip 压缩包,由于 php 自带 zip 扩展,可以直接解压。

解压zip压缩包:

  1. $file = "/opt/data/upload/testfile.zip"
  2. $outPath = "/opt/data/upload/testfile"
  3. $zip = new ZipArchive(); 
  4. $openRes = $zip->open($file); 
  5. if ($openRes === TRUE) { 
  6.   $zip->extractTo($outPath); 
  7.   $zip->close(); 

对于 rar 压缩包,需要先为 php 安装 rar 扩展。

安装rar扩展:

  1. wget http://pecl.php.net/get/rar-4.0.0.tgz 
  2. gunzip rar-4.0.0.tgz 
  3. tar -xvf rar-4.0.0.tar 
  4. cd rar-4.0.0 
  5. phpize 
  6. ./configure && make && make install 
  7. # 报错 
  8. configure: error: Cannot find php-config. Please use --with-php-config=PATH 
  9. # 运行./configure 时指定php-config路径即可 
  10. ./configure --with-php-config=/usr/local/php/bin/php-config 
  11. make && make install 

配置rar扩展:

# 新建 /usr/local/php/conf.d/rar.ini,内容

extension=rar.so

重启 php-fpm ,看一下 phpinfo() ;

可以看到已经成功安装了 rar ,可以来测试一下解压 rar 文件。

解压RAR压缩包:

  1. $file = "/opt/data/upload/testfile.zip"
  2. $outPath = "/opt/data/upload/testfile"
  3. $rar_file = rar_open($file); 
  4. if ($rar_file) { 
  5.   $entries = rar_list($rar_file); 
  6.   foreach ($entries as $entry) { 
  7.     $entry->extract($outPath); 
  8.   } 
  9.   rar_close($rar_file); 

这样就搞定用户上传的压缩包解压的问题了。

Tags: php解压缩zip php解压缩rar

分享到: