(PHP >= 7.2.0, PHP 8, PECL zip >= 1.14.0)
ZipArchive::setEncryptionName — Устанавливает метод шифрования записи по имени
$name
, int $method
, #[\SensitiveParameter] ?string $password
= null
): boolМетод устанавливает метод шифрования записи по имени.
name
Имя записи.
method
Метод шифрования, который задали одной из констант ZipArchive::EM_.
password
Пароль. Если не указывать, то будет использован пароль по умолчанию.
Функция возвращает true
, если выполнилась успешно, или false
, если возникла ошибка.
Версия | Описание |
---|---|
8.0.0 |
Параметр password теперь принимает значение null.
|
В этом примере создаётся ZIP-архив test.zip, содержащий файл test.txt, зашифрованный с помощью AES 256.
Пример #1 Архивируем и шифруем файл
<?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 "готово\n";
} else {
echo "ошибка\n";
}
?>
Замечание:
Функция доступна только если скомпилировано с модулем libzip ≥ 1.2.0.