问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

zip密码 php

发布网友 发布时间:2022-04-06 06:23

我来回答

1个回答

热心网友 时间:2022-04-06 07:52

用PHP的zip模块进行压缩加密.

开始

$zipArc = new \ZipArchive();if ($zipArc->open('/home/test.zip', ZipArchive::CREATE | ZipArchive::OVERWRITE) === true) {    //设置密码 注意此处不是加密,仅仅是设置密码
   if (!$zipArc->setPassword('password')) {        throw new RuntimeException('Set password failed');
   }    //往压缩包内添加文件
   $zipArc->addFile('/home/test.png', '1/test.png');    //加密文件 此处文件名及路径是压缩包内的
   if (!$zipArc->setEncryptionName('1/test.png', ZipArchive::EM_AES_256)) {        throw new RuntimeException('Set encryption failed');
   }

}

$zipArc->close();

注意事项

1 PHP7.2以下不支持加密

php7.2 以下是不支持加密的,我们看一下php官方文档中的解释

从PHP 7.2.0和libzip 1.2.0开始,密码用于解压缩归档,也是ZipArchive :: setEncryptionName() 和ZipArchive :: setEncryptionIndex()的默认密码。

以前,此功能仅设置用于解压缩存档的密码; 它没有将非密码保护的ZipArchive 变成受密码保护的ZipArchive。

也就是说php7.2之前,setPassword('password')这个方法仅仅是设置setEncryptionName()和setEncryptionIndex()的默认密码,却没有进行加密操作!!!,就问你坑不坑!!

2 方法找不到

提示没有setEncryptionName和setEncryptionIndex方法时,请编译时zip模块时用以下参数

--with-libzip
--enable-zip

3 目录结构问题

待压缩的文件目录,比说说是/home/test/a.png
压缩后,你发现压缩包内的目录结构是/home/test/a.png,
也就是说压缩包原封不动的保持了原来文件的目录.可是我们想自定义压缩包目录怎么办呢?

$a = '/home/test.png';
$b = '1/test.png';//$a是待添加的文件路径  $b是压缩包内的路径$zipArc->addFile($a, $b);

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
街头篮球手游中锋攻略汇总 C位攻略大全 街头篮球手游中锋有什么技巧 中锋C技巧详解 php一个表单提交数据怎么区分开,隐藏域可以吗,如果可以怎么用。 梦见牙掉光了什么预兆 梦见牙齿掉完了是什么征兆 梦见牙齿全掉了是什么预兆 梦见一口牙全部掉了是什么预兆 教师年度考核不认课的领导班子成员,干的工作不少,怎样考核办法公平... 湖北省郧西县义务教育学校绩效工资实施办法绩效工资总量和水平的... 事业单位年底是否有绩效奖金的 php实现解压缩功能 怎么用php写一个表单上传zip格式的压缩包并解压到根目录的指定目录中? php如何压缩一个文件夹里面所有的文件到zip文件里面? php怎样实现对zip文件的加密和解密 (急)php 解压文件(unzip) PHP文件怎么解压啊? php 怎把上传的rar zip文件 自动解压 用的是哪个函数 求高手指点 告急 谢谢 求源代码 php 如何解压压缩文件 如何用php解压缩文件 php中如何解析rest风格url 什么叫php的url路由技术,求解 php从url获取网页内容 PHP 怎么解析远程URL 传过来json ,在前端显示出来 php中处理URL地址问题 php解析url获取域名部分难点问题 急!!php获取url参数 php中URL怎么理解? php中使用parse_url()对网址进行解析的实现代码(parse_url详解) 几种php访问url的方法 php,如何把url字符串里面的参数解析出来 PHP如何保留2位小数 如何使金额保留两位小数 php php和Python在数据处理方面有哪些差异 php break和continue的区别 简述php中break和contine的用法,及区别。 php exit,continue,break的问题 在C语言中,这里return语句有什么用,与break语句,exit语句,continue语句有什么区别? 请问return与exit的区别?谢谢 在php中什么用于中断 编程语言的die exit break有什么区别 php如何实现三层架构 请大家介绍PHP MVC 三层架构开发 PHP开发有没有分层的思想呢 - 技术问答 求php开发三层架构,web端,数据处理层,数据库中数据处理层如何实现?有什么成熟方法吗? phpstudy属于三层架构吗 三层架构与MVC有什么关系?三层架构中需要实体类吗?放在哪一层?怎样使用? 请问我想学PHP三层架构、MVC设计模式、 高内聚低耦合,应该买哪本书好呢? asp.net的三层架构和mvc是同一个概念吗? PHP中的ZEND框架是做什么用的? PHP+MySQL+Zend 是什么意思