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生成便于打印的网页
Oct 09 PHP
让Json更懂中文(JSON_UNESCAPED_UNICODE)
Oct 27 PHP
基于curl数据采集之单页面采集函数get_html的使用
Apr 28 PHP
PHP笔记之:基于面向对象设计的详解
May 14 PHP
解决PHP mysql_query执行超时(Fatal error: Maximum execution time …)
Jul 03 PHP
php mb_substr()函数截取中文字符串应用示例
Jul 29 PHP
yii2 数据库读写分离配置示例
Feb 10 PHP
php解析mht文件转换成html的实例
Mar 13 PHP
PDO操作MySQL的基础教程(推荐)
Aug 18 PHP
PHP后期静态绑定之self::限制实例分析
Dec 21 PHP
PHP进阶学习之垃圾回收机制详解
Jun 18 PHP
PHP pthreads v3下的Volatile简介与使用方法示例
Feb 21 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 数据结构 算法描述 冒泡排序 bubble sort
2011/07/10 PHP
功能强大的PHP图片处理类(水印、透明度、旋转)
2015/10/21 PHP
PHP操作MySQL的mysql_fetch_* 函数的常见用法教程
2015/12/25 PHP
自己动手开发jQuery插件教程
2011/08/25 Javascript
JQuery扩展插件Validate—6 radio、checkbox、select的验证
2011/09/05 Javascript
jquery简单瀑布流实现原理及ie8下测试代码
2013/01/23 Javascript
JS中引用百度地图并将百度地图的logo和信息去掉
2013/09/29 Javascript
jquery更换文章内容与改变字体大小代码
2013/09/30 Javascript
jqgrid 表格数据导出实例
2013/11/21 Javascript
javascript打印html内容功能的方法示例
2013/11/28 Javascript
jQuery中scrollTop()方法用法实例
2015/01/16 Javascript
Jquery搜索父元素操作方法
2015/02/10 Javascript
微信小程序 页面之间传参实例详解
2017/01/13 Javascript
js实现带三角符的手风琴效果
2017/03/01 Javascript
详解angular2实现ng2-router 路由和嵌套路由
2017/03/24 Javascript
vue实现文章内容过长点击阅读全文功能的实例
2017/12/28 Javascript
js获取html页面代码中图片地址的实现代码
2018/03/05 Javascript
vue 项目地址去掉 #的方法
2018/10/20 Javascript
Python3实现连接SQLite数据库的方法
2014/08/23 Python
我就是这样学习Python中的列表
2019/06/02 Python
python Matplotlib底图中鼠标滑过显示隐藏内容的实例代码
2019/07/31 Python
pycharm设置默认的UTF-8编码模式的方法详解
2020/06/01 Python
物业管理公司实习生自我鉴定
2013/09/19 职场文书
实习自我鉴定模板
2013/09/28 职场文书
咨询公司各岗位职责
2013/12/02 职场文书
档案接收函
2014/01/13 职场文书
军训自我鉴定
2014/01/22 职场文书
新浪微博实习心得体会
2014/01/27 职场文书
教学质量评估实施方案
2014/03/17 职场文书
毕业寄语大全
2014/04/09 职场文书
合伙经营协议书范本
2014/09/13 职场文书
2014年民主评议党员个人总结
2014/09/24 职场文书
聘任书范文大全
2015/09/21 职场文书
python munch库的使用解析
2021/05/25 Python
python中的class_static的@classmethod的巧妙用法
2021/06/22 Python
Win11 Dev 预览版25174.1000发布 (附更新修复内容汇总)
2022/08/05 数码科技