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

来源:脚本之家  责任编辑:小易  

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

解压zip压缩包:

$file = "/opt/data/upload/testfile.zip";
$outPath = "/opt/data/upload/testfile";
$zip = new ZipArchive();
$openRes = $zip->open($file);
if ($openRes === TRUE) {
  $zip->extractTo($outPath);
  $zip->close();
}

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

安装rar扩展:

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

配置rar扩展:

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

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

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

解压RAR压缩包:

$file = "/opt/data/upload/testfile.zip";
$outPath = "/opt/data/upload/testfile";
$rar_file = rar_open($file);
if ($rar_file) {
  $entries = rar_list($rar_file);
  foreach ($entries as $entry) {
    $entry->extract($outPath);
  }
  rar_close($rar_file);
}

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

总结

以上所述是小编给大家介绍的php解压缩zip和rar压缩包文件的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

您可能感兴趣的文章:


  • 本文相关:
  • php执行zip与rar解压缩方法实现代码
  • php使用ziparchive函数实现文件的压缩与解压缩
  • php压缩和解压缩字符串的方法
  • php自带zip压缩、解压缩类ziparchiv使用指南
  • php实现zip压缩文件解压缩代码分享(简单易懂)
  • php zip解压 文件在线解压缩的函数代码
  • php zlib压缩和解压缩swf文件的代码
  • php下载远程大文件(获取远程文件大小)的实例
  • php实现抓取google ip并自动修改hosts文件
  • 新浪微博api开发简介之用户授权(php基础篇)
  • 使用php实现从身份证中提取生日
  • thinkphp3.2.3版本的数据库增删改查实现代码
  • 分享php源码批量抓取远程网页图片并保存到本地的实现方法
  • thinkphp中ajax返回ajaxreturn()方法分析
  • php实现绘制3d扇形统计图及图片缩放实例
  • symfony2.4的twig中date用法分析
  • php记录搜索引擎爬行记录的实现代码
  • 免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved