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


Posted in PHP onJuly 10, 2019

项目涉及文档处理,用户上传的包括 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 相关文章推荐
关于BIG5-HKSCS的解决方法
Mar 20 PHP
php flush类输出缓冲剖析
Oct 19 PHP
LotusPhp笔记之:Cookie组件的使用详解
May 06 PHP
PHP设置一边执行一边输出结果的代码
Sep 30 PHP
使用配置类定义Codeigniter全局变量
Jun 12 PHP
详谈PHP文件目录基础操作
Nov 11 PHP
php异步多线程swoole用法实例
Nov 14 PHP
PHP的Yii框架的基本使用示例
Aug 21 PHP
微信公众号模板消息群发php代码示例
Dec 29 PHP
php验证码生成器
May 24 PHP
PHP守护进程化在C和PHP环境下的实现
Nov 21 PHP
apache集成php7.3.5的详细步骤
Jun 20 PHP
PHP+redis实现微博的推模型案例分析
Jul 10 #PHP
实例分析10个PHP常见安全问题
Jul 09 #PHP
PHP批斗大会之缺失的异常详解
Jul 09 #PHP
PHP结合Redis+MySQL实现冷热数据交换应用案例详解
Jul 09 #PHP
PHP+Redis开发的书签案例实战详解
Jul 09 #PHP
使用composer命令加载vendor中的第三方类库 的方法
Jul 09 #PHP
Laravel+Intervention实现上传图片功能示例
Jul 09 #PHP
You might like
PHP新手上路(十二)
2006/10/09 PHP
php 攻击方法之谈php+mysql注射语句构造
2009/10/30 PHP
一个PHP缓存类代码(附详细说明)
2011/06/09 PHP
深入PHP与浏览器缓存的分析
2013/06/03 PHP
解析关于wamp启动是80端口被占用的问题
2013/06/21 PHP
PHP jQuery表单,带验证具体实现方法
2014/02/15 PHP
详解php比较操作符的安全问题
2015/12/03 PHP
分享php代码将360浏览器导出的favdb的sqlite数据库文件转换为html
2015/12/09 PHP
Yii2实现同时搜索多个字段的方法
2016/08/10 PHP
Laravel学习教程之本地化模块
2017/08/18 PHP
PHP基于redis计数器类定义与用法示例
2018/02/08 PHP
jQuery类选择器用法实例
2014/12/23 Javascript
Javascript中setTimeOut和setInterval的定时器用法
2015/06/12 Javascript
JavaScript实现文字跟随鼠标特效
2015/08/06 Javascript
jQuery Uploadify 上传插件出现Http Error 302 错误的解决办法
2015/12/12 Javascript
javaScript数组迭代方法详解
2016/04/14 Javascript
JavaScript和jquery获取父级元素、子级元素、兄弟元素的方法
2016/06/05 Javascript
JavaScript 身份证号有效验证详解及实例代码
2016/10/20 Javascript
Bootstrap table中toolbar新增条件查询及refresh参数使用方法
2018/05/18 Javascript
vue异步加载高德地图的实现
2018/06/19 Javascript
angular中子控制器向父控制器传值的实例
2018/10/08 Javascript
vue制作抓娃娃机的示例代码
2020/04/17 Javascript
Vue 使用iframe引用html页面实现vue和html页面方法的调用操作
2020/11/16 Javascript
python标准日志模块logging的使用方法
2013/11/01 Python
Python matplotlib的使用并自定义colormap的方法
2018/12/13 Python
Python PIL读取的图像发生自动旋转的实现方法
2019/07/05 Python
python使用正则表达式(Regular Expression)方法超详细
2019/12/30 Python
HTML5的结构和语义(1):前言
2008/10/17 HTML / CSS
自荐信的两点禁忌
2013/10/30 职场文书
会计顶岗实习心得
2014/01/25 职场文书
在校大学生自我评价范文
2014/09/12 职场文书
开票证明
2015/06/23 职场文书
汶川大地震感悟
2015/08/10 职场文书
护理工作心得体会
2016/01/22 职场文书
2016年党员承诺书范文
2016/03/24 职场文书
Python利器openpyxl之操作excel表格
2021/04/17 Python