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 相关文章推荐
落伍首发 php+mysql 采用ajax技术的 省 市 地 3级联动无刷新菜单 源码
Dec 16 PHP
php你的验证码安全码?
Jan 02 PHP
也谈php网站在线人数统计
Apr 09 PHP
如何使用Strace调试工具
Jun 03 PHP
php实现的验证码文件类实例
Jun 18 PHP
用PHP代码在网页上生成图片
Jul 01 PHP
php实现的微信红包算法分析(非官方)
Sep 25 PHP
php微信开发之自定义菜单完整流程
Oct 08 PHP
详解PHP发送邮件知识点
May 06 PHP
php+Ajax无刷新验证用户名操作实例详解
Mar 04 PHP
Laravel Validator自定义错误返回提示消息并在前端展示
May 09 PHP
php时间戳转换代码详解
Aug 04 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防注入代码
2010/04/07 PHP
php继承的一个应用
2011/09/06 PHP
laravel5环境隐藏index.php后缀(apache)的方法
2019/10/12 PHP
防止页面被iframe(兼容IE,Firefox火狐)
2010/07/04 Javascript
javascript 循环读取JSON数据的代码
2010/07/17 Javascript
鼠标滚轮控制网页横向移动实现思路
2013/03/22 Javascript
nodejs调用cmd命令实现复制目录
2015/05/04 NodeJs
Javascript仿新浪游戏频道鼠标悬停显示子菜单效果
2015/08/21 Javascript
JS+CSS实现简易实用的滑动门菜单效果
2015/09/18 Javascript
JS模仿手机端九宫格登录功能实现代码
2016/04/28 Javascript
javascript 常用验证函数总结
2016/06/28 Javascript
轻松掌握JavaScript代理模式
2016/08/26 Javascript
AngularJs Managing Service Dependencies详解
2016/09/02 Javascript
javascript十六进制数字和ASCII字符之间的转换方法
2016/12/27 Javascript
Vue 过渡实现轮播图效果
2017/03/27 Javascript
JS全角与半角转化实例(分享)
2017/07/04 Javascript
解决Vue不能检测数组或对象变动的问题
2018/02/24 Javascript
vue将时间戳转换成自定义时间格式的方法
2018/03/02 Javascript
vue form check 表单验证的实现代码
2018/12/09 Javascript
Vue组件教程之Toast(Vue.extend 方式)详解
2019/01/27 Javascript
vue模仿网易云音乐的单页面应用
2019/04/24 Javascript
Element Steps步骤条的使用方法
2020/07/26 Javascript
微信小程序实现上传照片代码实例解析
2020/08/04 Javascript
[07:09]DOTA2-DPC中国联赛 正赛 Ehome vs Elephant 选手采访
2021/03/11 DOTA
python实现带错误处理功能的远程文件读取方法
2015/04/29 Python
Python中getpass模块无回显输入源码解析
2018/01/11 Python
Python实现合并同一个文件夹下所有txt文件的方法示例
2018/04/26 Python
Pandas读写CSV文件的方法示例
2019/03/27 Python
关于Python3 类方法、静态方法新解
2019/08/30 Python
python通过安装itchat包实现微信自动回复收到的春节祝福
2020/01/19 Python
如何使用selenium和requests组合实现登录页面
2020/02/03 Python
交通文明倡议书
2014/05/16 职场文书
六五普法宣传标语
2014/10/06 职场文书
2014年纪检监察工作总结
2014/11/11 职场文书
Python基础之字符串格式化详解
2021/04/21 Python
redis的list数据类型相关命令介绍及使用
2022/01/18 Redis