1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > PHP 解压带密码的压缩包(ZIP|7Z|RAR等)

PHP 解压带密码的压缩包(ZIP|7Z|RAR等)

时间:2021-01-15 06:13:21

相关推荐

PHP 解压带密码的压缩包(ZIP|7Z|RAR等)

因为平常经常要解压很多带密码的压缩包,索性想写个程序自动去密码本拿来解压

用了下go 结果go不支持解压带密码的

所以拿起老本行php来做,但原生拓展只有zip(ZipArchive)或者RAR没有7Z 非常不方便所以上gayhub找了个宝贝Archive7z

一个类就能支持这么多种格式 简直神器

环境要求,php>=7.3 并且需要安装 7-zip 自行点击链接下载即可

Windows: 7-zip >= 7.30 (7-Zip)

Linux/MacOs: p7zip >= 9.38 (GitHub - jinfeihan57/p7zip: A new p7zip fork with additional codecs and improvements (forked from /projects/p7zip/).). UPD: original 7-zip supports linux since 21.01 version

找个文件夹 composer下来 以下是目录结构

composer require gemorroj/archive7z

demo代码

require ('vendor/autoload.php');use Archive7z\Archive7z;function test7Z($path,$dest_path,$password=''){$obj = new Archive7z($path);// 密码校验一定要放前面 因为调用isValid什么的会校验密码$obj->setPassword($password);if (!$obj->isValid()) {return false;}try {$obj->setOutputDirectory($dest_path)->extract();} catch (\Archive7z\Exception $e) {return false;}return true;}$path = 'C:\Users\zhengjb\Desktop\test\1\testrat.rar';$dest_path = 'C:\Users\zhengjb\Desktop\test\1';test7Z($path,$dest_path);

cli执行test.php

解压成功

详细的逻辑就不给出来了!!!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。