PHP用ZipArchive创建ZIP压缩包时,为了安全起见,需要增加解压缩密码。主要是两段代码,
$zip->setPassword('123456'); $zip->setEncryptionName('文件路径地址', ZipArchive::EM_AES_256)
具体例子中的核心代码如下:
$zip = new ZipArchive(); if ($zip->open($path_name, ZipArchive::OVERWRITE) === true) { if ($zip->setPassword('123456')){// 设置密码,但此处并不是核心 //dirname(__FILE__) 当前绝对路径 addFileToZip("./", $zip); //调用方法,对要打包的根目录进行操作,并将ZipArchive的对象传递给方法 //$zip->addFile("home.php");//也可以不通过addFileToZip()函数,直接添加文件 //$zip->addFile("Android/index.php"); } $zip->close(); //关闭处理的zip文件 echo "压缩包压缩成功"; }else{ echo "启动失败"; } //以下为核心: $zip->addFile($path . "/" . $filename); if (!$zip->setEncryptionName($path . "/" . $filename, ZipArchive::EM_AES_256)) {//此处组合才是核心关键 echo "加密失败"; }