ZipArchive::setEncryptionName
(PHP >= 7.2.0, PHP 8, PECL zip >= 1.14.0)
ZipArchive::setEncryptionName — Set the encryption method of an entry defined by its name
Description
$name, int $method, ?string $password = null): boolSet the encryption method of an entry defined by its name.
Parameters
-
name -
Name of the entry.
-
method -
The encryption method defined by one of the ZipArchive::EM_ constants.
-
password -
Optional password, default used when missing.
Return Values
Returns true on success or false on failure.
Changelog
| Version | Description |
|---|---|
| 8.0.0 |
password is now nullable.
|
Examples
This example creates a ZIP file archive test.zip and add the file test.txt encrypted using the AES 256 method.
Example #1 Archive and encrypt a file
<?php
$zip = new ZipArchive();
if ($zip->open('test.zip', ZipArchive::CREATE) === TRUE) {
$zip->setPassword('secret');
$zip->addFile('text.txt');
$zip->setEncryptionName('text.txt', ZipArchive::EM_AES_256);
$zip->close();
echo "Ok\n";
} else {
echo "KO\n";
}
?>
Notes
Note:
This function is only available if built against libzip ≥ 1.2.0.
See Also
- ZipArchive::setPassword() - Set the password for the active archive
- ZipArchive::setEncryptionIndex() - Set the encryption method of an entry defined by its index

