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

 更新时间:2019年07月10日 08:57:45   作者:行星带   我要评论
项目涉及文档处理,用户上传的包括 zip 和 rar 压缩包,需要先将压缩包解压后再作处理。这篇文章主要介绍了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中使用strpos函数实现屏蔽敏感关键字功能

    PHP中使用strpos函数实现屏蔽敏感关键字功能

    这篇文章主要介绍了PHP中使用strpos函数实现屏蔽敏感关键字功能,本文用在发布文章保存到金沙国际官网时前拦截敏感关键,需要的朋友可以参考下
    2014-08-08
  • PHP如何使用Memcached

    PHP如何使用Memcached

    memcached是高性能的分布式内存缓存服务器。一般的使用目的是,通过缓存金沙国际官网查询结果,减少金沙国际官网访问次数,以提高动态Web应用的速度、提高可扩展性。本文给大家介绍PHP如何使用Memcached,感兴趣的朋友一起学习吧
    2016-04-04
  • 利用PHP获取汉字首字母并且分组排序详解

    利用PHP获取汉字首字母并且分组排序详解

    这篇文章主要给大家介绍了关于如何利用PHP获取汉字首字母并且分组排序的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用php具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-10-10
  • 使用composer 安装 laravel框架的方法图文详解

    使用composer 安装 laravel框架的方法图文详解

    这篇文章主要介绍了使用composer 安装 laravel框架的方法,结合图文说明的形式详细分析了composer 安装 laravel框架的具体步骤、相关命令与操作注意事项,需要的朋友可以参考下
    2019-08-08
  • Thinkphp开发--集成极光推送

    Thinkphp开发--集成极光推送

    极光推送(JPush)是独立的第三方云推送平台,致力于为全球移动应用开发者提供专业、高效的移动消息推送服务。本文讲述如何在将极光推送合到ThinkPHP框架中,
    2017-09-09
  • tp5(thinkPHP5)操作mongoDB金沙国际官网的方法

    tp5(thinkPHP5)操作mongoDB金沙国际官网的方法

    这篇文章主要介绍了tp5(thinkPHP5)操作mongoDB金沙国际官网的方法,结合实例形式简单分析了mongoDB金沙国际官网及thinkPHP5连接、查询MongoDB金沙国际官网的基本操作技巧,需要的朋友可以参考下
    2018-01-01
  • 日常整理PHP中简单的图形处理(经典)

    日常整理PHP中简单的图形处理(经典)

    本篇文章是小编日常整理的php图形处理,如何使用GD2函数在照片上添加文字,使用GD2函数创建一个4位的验证码。对本文内容感兴趣的朋友可以了解了解
    2015-10-10
  • laravel通过a标签从视图向控制器实现传值

    laravel通过a标签从视图向控制器实现传值

    今天小编就为大家分享一篇laravel通过a标签从视图向控制器实现传值,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • Smarty分页实现方法完整实例

    Smarty分页实现方法完整实例

    这篇文章主要介绍了Smarty分页实现方法,涉及基于Smarty的金沙国际官网查询、分页相关计算与模板操作技巧,需要的朋友可以参考下
    2016-05-05
  • 解决在laravel中leftjoin带条件查询没有返回右表为NULL的问题

    解决在laravel中leftjoin带条件查询没有返回右表为NULL的问题

    今天小编就为大家分享一篇解决在laravel中leftjoin带条件查询没有返回右表为NULL的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10

最新评论