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 相关文章推荐
使用MaxMind 根据IP地址对访问者定位
Oct 09 PHP
snoopy 强大的PHP采集类使用实例代码
Dec 09 PHP
关于url地址传参数时字符串有回车造成页面脚本赋值失败的解决方法
Jun 28 PHP
PHP中ini_set和ini_get函数的用法小结
Feb 18 PHP
PHP Ajax JavaScript Json获取天气信息实现代码
Aug 17 PHP
PHP基于IMAP收取邮件的方法示例
Aug 07 PHP
PHP实现深度优先搜索算法(DFS,Depth First Search)详解
Sep 16 PHP
php进程daemon化的正确实现方法
Sep 06 PHP
PHP SESSION机制的理解与实例
Mar 22 PHP
PHP实现简易图形计算器
Aug 28 PHP
PHP实现Snowflake生成分布式唯一ID的方法示例
Aug 30 PHP
PHP编程一定要改掉的5个不良习惯
Sep 18 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文件上传类分享
2014/11/18 PHP
PHP filesize函数用法浅析
2019/02/15 PHP
js利用Array.splice实现Array的insert/remove
2009/01/13 Javascript
jquery 注意事项与常用语法小结
2010/06/07 Javascript
js验证是否为数字的总结
2013/04/14 Javascript
js jquery ajax的几种用法总结(及优缺点介绍)
2014/01/28 Javascript
javascript学习笔记--数字格式类型
2014/05/22 Javascript
JS+CSS实现简易实用的滑动门菜单效果
2015/09/18 Javascript
Jquery左右滑动插件之实现超级炫酷动画效果附源码下载
2015/12/02 Javascript
微信小程序 常用工具类详解及实例
2017/02/15 Javascript
简单谈谈关于 npm 5.0 的新坑
2017/06/08 Javascript
jQuery插件DataTables分页开发心得体会
2017/08/22 jQuery
vue使用laydate时间插件的方法
2018/11/14 Javascript
angular 服务随记小结
2019/05/06 Javascript
微信小程序使用npm包的方法步骤
2019/08/13 Javascript
原生JS实现留言板功能
2020/02/08 Javascript
iview实现图片上传功能
2020/06/29 Javascript
Python中的map、reduce和filter浅析
2014/04/26 Python
Python编程中的反模式实例分析
2014/12/08 Python
Python聊天室实例程序分享
2016/01/05 Python
Python字典,函数,全局变量代码解析
2017/12/18 Python
pycharm执行python时,填写参数的方法
2018/10/29 Python
Python序列化与反序列化pickle用法实例
2019/11/11 Python
Tensorflow矩阵运算实例(矩阵相乘,点乘,行/列累加)
2020/02/05 Python
OpenCV 表盘指针自动读数的示例代码
2020/04/10 Python
css3实现的多级渐变下拉菜单导航效果代码
2015/08/31 HTML / CSS
HTML5本地数据库基础操作详解
2016/04/26 HTML / CSS
香港草莓网土耳其网站:Strawberrynet TR
2017/03/02 全球购物
印尼最大的网上书店:Gramedia.com
2018/09/13 全球购物
西安启天科技有限公司网络工程师面试题笔试题
2016/06/12 面试题
高一生物教学反思
2014/01/17 职场文书
30年同学聚会邀请函
2014/01/25 职场文书
党课心得体会范文
2014/09/09 职场文书
2014年度思想工作总结
2014/11/27 职场文书
2021-4-3课程——SQL Server查询【2】
2021/04/05 SQL Server
python3 sqlite3限制条件查询的操作
2021/04/07 Python