ZIP 文件的密码保护不起作用


password protection for a zip file is not working

 My php version : 5.4.6  

这是我的代码。超过这个后,我犯了一个错误

   $zip = new ZipArchive();
   $code = $zip->open('zipfiles/test.zip', ZipArchive::CREATE | ZipArchive::OVERWRITE);
   if ($code === true)
    echo 'zip opened<br>';
   else
    echo $code.'<br>';
   $zip->addFile('test.jpg');
   $code = $zip->setPassword('secret');
   if ($code === true)
     echo 'password set<br>';
   else
     echo $code.'<br>';
   $code = $zip->close();
   if ($code === true)
    echo 'closed<br>';
   else
    echo $code.'<br>';
   echo 'done<br>';

但是我得到一个错误

   Fatal error: Call to undefined method ZipArchive::setPassword() in D:'xampp'htdocs'zipfile.php on line 25

文档说你需要 php 5.6.0 或更高版本。你有 5.4.6。所以你需要升级你的php安装。

您可以在 PHP 5.6 中添加的新函数列表的底部找到函数 setPassword((。

"setPassword" 在这种情况下不起作用。此功能仅设置用于解压存档的密码;它不会将不受密码保护的 ZipArchive 转换为受密码保护的 ZipArchive。