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,成功!
来自:https://www.cnblogs.com/sandea/p/10230403.html
将一个数组转化为逗号为分割符的字符串(CSV)即表格数据。利用了 Array.prototype.map() 和 Array.prototype.join() 两个函数,实现了一个简单的数组转化为 csv 文件类型的代码。
比如我写了一个JS文件,这个文件需要调用另外一个JS文件,该如何实现呢?这篇文章主要介绍:在js文件中引入另一个js文件的实现
cms内容发布系统上传不了大文件,当上传超过32M文件时就上传不了,提示:无效的文件. 文件尺寸太大。分析文件上传过程:browser --> nginx --> php ,需要修改 nginx.conf和php.ini
node 的fs文档密密麻麻的 api 非常多,毕竟全面支持对文件系统的操作。文档组织的很好,操作基本分为文件操作、目录操作、文件信息、流这个大方面,编程方式也支持同步、异步和 Promise
在JavaScript文件中存储敏感数据,不仅是一种错误的实践方式,而且还是一种非常危险的行为,长期以来大家都知道这一点。
HTML5定义了FileReader作为文件API的重要成员用于读取文件,FileReader接口提供了读取文件的方法和包含读取结果的事件模型。 FileReader 的实例拥有 4 个方法,其中 3 个用以读取文件,另一个用来中断读取。
一般web前端处理导出文件有两种方法:其实现原理就是先把服务端返回的数据流通过URL.createObjectURL()方法转成一个URL,这个URL是存放在内存中的,URL的生命周期是和创建的它的document绑定
当使用第三方库时,我们需要引用它的声明文件,才能获得对应的代码补全、接口提示等功能。假如我们想使用第三方库 jQuery,一种常见的方式是在 html 中通过 <script> 标签引入 jQuery
之所以要做这个是因为,在一个组件内部需要引入一个js文件来定位。如果放在index.html,这样每个组件都会有这个js。所以需要在组件内单独引入。
项目/框架初始化时可能需要保留一些空文件,这时候就需要批量新增gitkeep
内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!