Home > Article > Backend Development > php ZipArchive setPassword is not work
<code>$zip = new ZipArchive(); $code = $zip->open('myzip.zip', ZipArchive::CREATE | ZipArchive::OVERWRITE); if ($code === true) echo 'zip opened<br>'; else echo $code.'<br>'; $zip->addFile('somefile'); $code = $zip->setPassword('secret'); if ($code === true) echo 'password set<br>'; else var_dump($code); $code = $zip->close(); on the filesystem, the myzip.zip is created with somefile inside and $code is true but the zip file is not password protected ... </code>
<code>$zip = new ZipArchive(); $code = $zip->open('myzip.zip', ZipArchive::CREATE | ZipArchive::OVERWRITE); if ($code === true) echo 'zip opened<br>'; else echo $code.'<br>'; $zip->addFile('somefile'); $code = $zip->setPassword('secret'); if ($code === true) echo 'password set<br>'; else var_dump($code); $code = $zip->close(); on the filesystem, the myzip.zip is created with somefile inside and $code is true but the zip file is not password protected ... </code>
setPassword
is not to set a password for a ZIP file without a password. It is to set a password for decryption.
<code class="php">$zip = new ZipArchive(); $code = $zip->open('myzip.zip'); $zip->setPassword('123456'); $zip->extractTo('/path');</code>