PHP用ZipArchive创建ZIP压缩包及设置密码实例

寻技术 PHP编程 2023年07月11日 127

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 "加密失败";
}


关闭

用微信“扫一扫”