PHP 8.1.0 RC 2 available for testing


(PHP >= 7.2.0, PHP 8, PECL zip >= 1.14.0)

ZipArchive::setEncryptionNameУстановить метод шифрования записи по её имени


public ZipArchive::setEncryptionName(string $name, int $method, ?string $password = null): bool

Установить метод шифрования записи, указанной по её имени.

Список параметров


Имя записи.


Метод шифрования, заданный одной из констант ZipArchive::EM_.


Пароль. Если не указывать, то будет использован пароль по умолчанию.

Возвращаемые значения

Возвращает true в случае успешного выполнения или false в случае возникновения ошибки.

Список изменений

Версия Описание
8.0.0 password теперь допускает значение null.


В этом примере создаётся ZIP-архив, содержащий файл test.txt, зашифрованный с помощью AES 256.

Пример #1 Архивируем и шифруем файл

= new ZipArchive();
if (
$zip->open(''ZipArchive::CREATE) === TRUE) {
} else {



Функция доступна только если скомпилировано с использованием libzip ≥ 1.2.0.

Смотрите также

add a note add a note

User Contributed Notes 2 notes

mauro dot chojrin at leewayweb dot com
1 year ago
Files compressed using this function on Linux won't be decompressed using Windows.

There seems to be some incompatibility with Windows built-in decompressor.

There's an alternative library that works better here:

I got windows to open a file created with it by using the PKWARE encryption method
romke at romke dot nl
5 months ago
On windows is the "EM_AES_256" by default not supported, but you can use winrar, winzip or 7zip.

At first we had a password of 128 chars (this was to long) and all extract applications give an error that the password was incorrect.

The next time we did use a password of 52 chars., this time i did work!
To Top