PHP Rar Archiving 模块 (php_rar) 是一个读取和解压rar文件的模块,但不提供RAR压缩(打包)的功能。

1.首先要到PECL的RAR页面下载DLL. 根据自己的情况选择下载对应版本的DLL.

PHP版本要求:php_rar模块适用于php 5.2及以上, 不过对于windows系统,似乎只有php5.3 / 5.4对应的DLL下载。

2.下载到的是个zip包,将其中的php_rar.pdb和php_rar.dll两个文件解压到PHP安装目录下的ext子目录中。

3.在php.ini中加入一行php_rar扩展引用声明 extension=php_rar.dll

4.如果使用Apache服务器,就需要重启Apache。IIS下以FastCGI模式加载的PHP则不需要进一步操作了

5.解压缩zip文件 方法一

$zip = new ZipArchive();//新建一个ZipArchive的对象
if ($zip->open(读取上传文件路径) === TRUE){$zip->extractTo(解压文件路径);//假设解压缩到在当前路径下images文件夹的子文件夹php$zip->close();//关闭处理的zip文件
}

6.解压缩zip文件 方法二

$archive = new PclZip(读取上传文件路径);
if ($archive->extract(PCLZIP_OPT_PATH, 解压文件路径)){ /*data换成其他路径即可*///die("Error : ".$archive->errorInfo(true));
} try {$folder_list = my_scandir(解压文件路径);
} catch (Exception $e) {
}7.解压缩rar文件$rar_file = rar_open(读取上传文件路径) or die("Failed to open Rar archive");
$entries = rar_list($rar_file);
foreach ($entries as $entry) {$entry->extract(解压文件路径); /*/dir/extract/to/换成其他路径即可*/
}
rar_close($rar_file);

安装rar Linux环境插件

先到rar扩展的主页https://pecl.php.net/package/rar因为服务器上运行的是php 7.2支持最新版本rar扩展,那就下载最新版4.0.0。

wget https://pecl.php.net/get/rar-4.0.0.tgz

然后解压

gunzip rar-4.0.0.tgztar -xvf rar-4.0.0.tar

查看宝塔面板php7.2安装路径下的是否存在/www/server/php/72/bin/phpize,如果存在,进入刚才解压的目录执行这个phpize

cd rar-4.0.0/www/server/php/72/bin/phpize

在解压目录里执行phpize主要是为了侦测当前php运行环境,给rar源码生成configure配置的相关文件,以便后期编译需要。

运行configure ,注意后面的--with-php-config参数一定不能缺,这个的作用是关联上当前需要关联的php版本,尤其是在安装多个不同版本php时。

./configure --with-php-config=/www/server/php/72/bin/php-config

编译源码

make && make install

编译完成在最后会提示生成的rar.so所在的路径。

Build complete.Don't forget to run 'make test'.Installing shared extensions: /www/server/php/72/lib/php/extensions/no-debug-non-zts-20170718/

在php7.2的配置文件php.ini最后一行添加

[rar]
extension="/www/server/php/72/lib/php/extensions/no-debug-non-zts-20170718/rar.so"

重启一下相应版本的php7.2 fpm服务,或者干脆重启一下服务器。

检查一下php7.2是否加载rar扩展成功

/www/server/php/72/bin/php -m

看到执行命令后返回的文字里面有rar,成功!

以上内容希望帮助到大家,很多PHPer在进阶的时候总会遇到一些问题和瓶颈,业务代码写多了没有方向感,不知道该从那里入手去提升,对此我整理了一些资料,包括但不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx等多个知识点高级进阶干货需要的可以免费分享给大家,需要戳这里PHP进阶架构师>>>视频、面试文档免费获取

或 者关注我每天分享技术文章

进阶PHP架构师​www.zhihu.com

rar 文件头crc版本_php实现rar文件的读取和解压相关推荐

  1. window php 安装zip扩展,Windows下安装php_rar 扩展,让php实现rar文件的读取和解压

    PHP Rar Archiving 模块 (php_rar) 是一个读取和解压rar文件的模块,但不提供RAR压缩(打包)的功能. 1.首先要到PECL的RAR页面下载DLL. 根据自己的情况选择下载 ...

  2. 分享:bbed修改数据文件头推进scn与其他数据文件相同

    2019独角兽企业重金招聘Python工程师标准>>> 场景简介: 物理copy表空间数据文件,数据库发生完全检查点,删除该表空间下的数据文件,使该表空间数据文件头的scn与其他数据 ...

  3. 修改oracle的表空间文件scn,分享:bbed修改数据文件头推进scn与其他数据文件相同...

    场景简介: 物理copy表空间数据文件,数据库发生完全检查点,删除该表空间下的数据文件,使该表空间数据文件头的scn与其他数据文件不一致. 场景构造: 1.创建测试表空间 SYS@orser> ...

  4. ctf 文件头crc错误_[CTF隐写]png中CRC检验错误的分析

    [CTF隐写]png中CRC检验错误的分析 最近接连碰到了3道关于png中CRC检验错误的隐写题,查阅了相关资料后学到了不少姿势,在这里做一个总结 题目来源: bugku-MISC-隐写2 bugku ...

  5. c语言二fseek从文件头移动_编程C语言文件的随机读写

    实现随机读写的关键是要按要求移动位置指针,这称为文件的定位. 文件定位 移动文件内部位置指针的函数主要有两个,即rewind()和fseek().rewind函数前面已多次使用过,其调用形式为:    ...

  6. bugku-杂项-好多压缩包(压缩文件CRC32碰撞、rar文件头)

    下载文件,解压后是68个压缩文件,而且每个文件都是加密的,也没有提示密码,爆破?胡扯,这么多,还不想耗死.. 正确思路CRC32碰撞,介绍一下CRC32碰撞: CRC32:CRC本身是"冗余 ...

  7. linux下将多个文件去除文件头合并_Linux下把多个文件合并成一个文件 - 卡饭网...

    互盾PDF分割合并工具将多个PDF文件合并成一个PDF文档 互盾PDF分割合并工具将多个PDF文件合并成一个PDF文档     互盾PDF分割合并工具将多个PDF文件合并成一个PDF文档 一.下载并安 ...

  8. png文件头_Golang GinWeb框架7静态文件/模板渲染

    简介 本文接着上文(Golang GinWeb框架6-绑定请求字符串/URI/请求头/复选框/表单类型)继续探索GinWeb框架 静态文件服务 package mainimport ( "g ...

  9. pycharm 如何设置文件头信息?信息模板 头文件 coding: utf-8

    但看一般用的是这个:# -*- coding: utf-8 -*- 如: # -*- coding: utf-8 -*- """ @File : ${NAME}.py @ ...

最新文章

  1. Scrum项目1.0
  2. 将数组放进集合中的简单方法
  3. 多线程学习(一)----CreateThread
  4. python基础知识点制作图片
  5. Linux 命令积累 fuser lsof mtr
  6. 一分钟搭建、运行、测试SSM项目
  7. 动手实验:继承条件下的构造方法调用
  8. LWIP源代码文件目录解析
  9. 查看linux目录剩余空间大小
  10. 2019 7.14学习笔记
  11. 如何着手分析一个行业?
  12. Redis后门植入分析报告
  13. PR视频编辑软件Premiere软件安装包下载地址及安装教程
  14. 计算机网络技术毕业生实习报告_20XX计算机网络技术毕业生实习报告1000字
  15. 删除亚马逊Kindle电子书的DRM,将AZW转为PDF格式文档
  16. 怎样发表期刊才能快速通过
  17. 远程控制电脑的软件哪个比较好用
  18. Outlook 2013 重新联姻Hotmail ,Exchange ActiveSync牵线搭桥
  19. c语言空白符,C语言初探之空白符
  20. 画仓鼠大赛 结果公布

热门文章

  1. 【小米笔试题】实现一个算法,确定一个字符串的所有字符是否全部不同
  2. 最小生成树(普里姆算法【Prim】与克鲁斯卡尔算法【Kruskal】)
  3. 线性表应用之线性表算法设计六大经典案例
  4. 4.2.1 OS之磁盘的结构(磁盘、磁道、扇区、盘面、柱面、磁头)
  5. 基于jsp的教师科研工作量_基于jsp+mysql的JSP教师科研信息管理系统
  6. python教材目录_Python实用教程/高等院校信息技术规划教材简介,目录书摘
  7. 动态规划算法分析和理解:最长公共子序列、公共子字符串
  8. 基于IAR-stm32裸板工程,完美移植RT-Thread Nano系统(附源码)
  9. 消费升级,彩屏或将成为家电行业市场新风口
  10. tomcat mysql 启动顺序_linux 上配置tomcat、mysql 开机启动