International PHP Conference Berlin 2025

Предопределённые константы

Модуль определяет перечисленные константы и открывает доступ к константам только тогда, когда модуль либо собрали в PHP, либо динамически загрузили во время исполнения кода.

Класс ZipArchive использует константы класса. В классе предусмотрели константы разных типов, основные из которых: Глобальные флаги (префикс AFL_), флаги (префикс FL_), ошибки (префикс ER_) и константы режима работы (без префикса).

Режимы открытия архива
ZipArchive::CREATE (int)
Создавать архив, если он не существует.
ZipArchive::OVERWRITE (int)
Если архив существует, игнорировать текущее содержимое архива. Говоря по-другому, обработать его так же, как и пустой архив.
ZipArchive::EXCL (int)
Выводить ошибку, если архив существует.
ZipArchive::RDONLY (int)
Открыть архив в режиме только для чтения. Доступно с PHP 7.4.3 и PECL zip 1.17.1, соответственно, если скомпилировано с модулем libzip ≥ 1.0.0.
ZipArchive::CHECKCONS (int)
Выполнять дополнительные проверки согласованности архива и выдавать ошибку при неудаче.
Глобальные флаги архива
ZipArchive::AFL_RDONLY (int)
Архив доступен только для чтения, очистить его нельзя. Доступно с PHP 8.3.0 и PECL zip 1.22.0, соответственно, если собрано с модулем libzip ≥ 1.10.0.
ZipArchive::AFL_IS_TORRENTZIP (int)
Текущий архив записан в формате torrentzip. Доступно с PHP 8.3.0 и PECL zip 1.22.0, соответственно, если собран с модулем libzip ≥ 1.10.0.
ZipArchive::AFL_WANT_TORRENTZIP (int)
Запись архива в формате torrentzip. Доступно с PHP 8.3.0 и PECL zip 1.22.0, соответственно, если собран с модулем libzip ≥ 1.10.0.
ZipArchive::AFL_CREATE_OR_KEEP_FILE_FOR_EMPTY_ARCHIVE (int)
Не удалять файл, если архив пуст. Доступно с PHP 8.3.0 и PECL zip 1.22.0, соответственно, если собран с модулем libzip ≥ 1.10.0.
Флаги архива
ZipArchive::FL_NOCASE (int)
Игнорировать регистр символов в именах элементов архива.
ZipArchive::FL_NODIR (int)
Не учитывать пути директорий в архиве.
ZipArchive::FL_COMPRESSED (int)
Читать сжатые данные.
ZipArchive::FL_UNCHANGED (int)
Использовать исходные данные, игнорируя изменения.
ZipArchive::FL_RECOMPRESS (int)
Принудительно повторять сжатие данных. Доступно с PHP 8.0.0 и PECL zip 1.18.0. Объявлено устаревшим с PHP 8.3.0 и PECL zip 1.22.1, будет удалено в будущей версии модуля libzip.
ZipArchive::FL_ENCRYPTED (int)
Читать зашифрованные данных (подразумевается FL_COMPRESSED). Доступно с PHP 8.0.0 и PECL zip 1.18.0.
ZipArchive::FL_OVERWRITE (int)
Если файл с именем существует, перезаписать (заменить) его. Доступно с PHP 8.0.0 и PECL zip 1.18.0.
ZipArchive::FL_LOCAL (int)
В локальном заголовке. Доступно с PHP 8.0.0 и PECL zip 1.18.0.
ZipArchive::FL_CENTRAL (int)
В центральном каталоге. Доступно с PHP 8.0.0 и PECL zip 1.18.0.
ZipArchive::FL_ENC_GUESS (int)
Угадать кодировку строки (по умолчанию). Доступно с PHP 7.0.8.
ZipArchive::FL_ENC_RAW (int)
Взять немодифицированную строку. Доступно с PHP 7.0.8.
ZipArchive::FL_ENC_STRICT (int)
Строго следовать спецификации. Доступно с PHP 7.0.8.
ZipArchive::FL_ENC_UTF_8 (int)
Строка в кодировке UTF-8. Доступно с PHP 7.0.8.
ZipArchive::FL_ENC_CP437 (int)
Строка в кодировке CP437. Доступно с PHP 7.0.8.
ZipArchive::FL_OPEN_FILE_NOW (int)
Открывать файл при добавлении вместо того, чтобы ждать закрытия архива. Помните о потреблении файловых дескрипторов. Доступно с PHP 8.3.0 и PECL zip 1.22.1.
Режимы сжатия
ZipArchive::CM_DEFAULT (int)
Выбрать лучший метод сжатия "deflate" или "stored" (без сжатия).
ZipArchive::CM_STORE (int)
Применять метод сжатия "stored" (без сжатия).
ZipArchive::CM_SHRINK (int)
Применять метод сжатия "shrunk".
ZipArchive::CM_REDUCE_1 (int)
Применять метод сжатия "reduced" с коэффициентом 1.
ZipArchive::CM_REDUCE_2 (int)
Применять метод сжатия "reduced" с коэффициентом 2.
ZipArchive::CM_REDUCE_3 (int)
Применять метод сжатия "reduced" с коэффициентом 3.
ZipArchive::CM_REDUCE_4 (int)
Применять метод сжатия "reduced" с коэффициентом 4.
ZipArchive::CM_IMPLODE (int)
Применять метод сжатия "imploded".
ZipArchive::CM_DEFLATE (int)
Применять метод сжатия "deflated".
ZipArchive::CM_DEFLATE64 (int)
Применять метод сжатия "deflate64".
ZipArchive::CM_PKWARE_IMPLODE (int)
Применять метод сжатия "PKWARE imploding".
ZipArchive::CM_BZIP2 (int)
Применять метод сжатия алгоритмом BZIP2.
ZipArchive::CM_LZMA (int)
Применять метод сжатия алгоритмом LZMA.
ZipArchive::CM_LZMA2 (int)
Применять метод сжатия алгоритмом LZMA2. Доступно с PHP 7.4.3 и PECL zip 1.16.0, соответственно, если скомпилировано с модулем libzip ≥ 1.6.0.
ZipArchive::CM_ZSTD (int)
Применять метод сжатия алгоритмом Zstandard. Доступно с PHP 8.0.0 и PECL zip 1.19.1, соответственно, если скомпилировано с модулем libzip ≥ 1.8.0.
ZipArchive::CM_XZ (int)
Применять метод сжатия алгоритмом XZ. Доступно с PHP 7.4.3 и PECL zip 1.16.0, соответственно, если скомпилировано с модулем libzip ≥ 1.6.0.
ZipArchive::CM_TERSE (int)
ZipArchive::CM_LZ77 (int)
ZipArchive::CM_WAVPACK (int)
ZipArchive::CM_PPMD (int)
Ошибки
ZipArchive::ER_OK (int)
Нет ошибок.
ZipArchive::ER_MULTIDISK (int)
Многотомный ZIP-архив не поддерживается.
ZipArchive::ER_RENAME (int)
Переименование временного файла не удалось.
ZipArchive::ER_CLOSE (int)
Закрытие ZIP-архива не удалось.
ZipArchive::ER_SEEK (int)
Ошибка поиска.
ZipArchive::ER_READ (int)
Ошибка чтения.
ZipArchive::ER_WRITE (int)
Ошибка записи.
ZipArchive::ER_CRC (int)
Ошибка контрольной суммы.
ZipArchive::ER_ZIPCLOSED (int)
Открытый ZIP-архив был закрыт.
ZipArchive::ER_NOENT (int)
Нет такого файла.
ZipArchive::ER_EXISTS (int)
Файл уже существует.
ZipArchive::ER_OPEN (int)
Невозможно открыть файл.
ZipArchive::ER_TMPOPEN (int)
Не удалось создать временный файл.
ZipArchive::ER_ZLIB (int)
Ошибка Zlib.
ZipArchive::ER_MEMORY (int)
Ошибка выделения памяти.
ZipArchive::ER_CHANGED (int) (string)
Запись была изменена.
ZipArchive::ER_COMPNOTSUPP (int)
Метод сжатия не поддерживается.
ZipArchive::ER_EOF (int)
Преждевременный конец файла.
ZipArchive::ER_INVAL (int)
Недопустимый аргумент.
ZipArchive::ER_NOZIP (int)
Не ZIP-архив.
ZipArchive::ER_INTERNAL (int)
Внутренняя ошибка.
ZipArchive::ER_INCONS (int)
ZIP-архив несовместим.
ZipArchive::ER_REMOVE (int)
Невозможно удалить файл.
ZipArchive::ER_DELETED (int)
Запись была удалена.
ZipArchive::ER_ENCRNOTSUPP (int)
Метод шифрования не поддерживается. Доступно с PHP 7.4.3 и PECL zip 1.16.1, соответственно.
ZipArchive::ER_RDONLY (int)
Архив только для чтения. Доступно с PHP 7.4.3 и PECL zip 1.16.1, соответственно.
ZipArchive::ER_NOPASSWD (int)
Пароль не указан. Доступно с PHP 7.4.3 и PECL zip 1.16.1, соответственно.
ZipArchive::ER_WRONGPASSWD (int)
Предоставлен неверный пароль. Доступно с PHP 7.4.3 и PECL zip 1.16.1, соответственно.
ZipArchive::ER_OPNOTSUPP (int)
Операция не поддерживается. Доступно с PHP 7.4.3 и PECL zip 1.16.1, соответственно, если скомпилировано с модулем libzip ≥ 1.0.0.
ZipArchive::ER_INUSE (int)
Ресурс всё ещё используется. Доступно с PHP 7.4.3 и PECL zip 1.16.1, соответственно, если скомпилировано с модулем libzip ≥ 1.0.0.
ZipArchive::ER_TELL (int)
Указана ошибка. Доступно с PHP 7.4.3 и PECL zip 1.16.1, соответственно, если скомпилировано с модулем libzip ≥ 1.0.0.
ZipArchive::ER_COMPRESSED_DATA (int)
Сжатые данные неверны. Доступно с PHP 7.4.3 и PECL zip 1.16.1, соответственно, если скомпилировано с модулем libzip ≥ 1.0.0.
ZipArchive::ER_CANCELLED (int)
Операция отменена. Доступно с PHP 7.4.3 и PECL zip 1.16.1, соответственно, если скомпилировано с модулем libzip ≥ 1.0.0.
ZipArchive::ER_DATA_LENGTH (int)
Неожиданная длина данных. Доступно с PHP 8.3.0 и PECL zip 1.22.0, соответственно, если собран с модулем libzip ≥ 1.10.0.
ZipArchive::ER_NOT_ALLOWED (int)
Не допускается в torrentzip. Доступно с PHP 8.3.0 и PECL zip 1.22.0, соответственно, если собран с модулем libzip ≥ 1.10.0.
ZipArchive::ER_TRUNCATED_ZIP (int)
Возможно, усеченный или поврежденный zip-архив. Константа доступна с PHP 8.4.0 и PECL-модуля zip 1.22.4, если модуль собрали с библиотекой libzip ≥ 1.11.1.
Режимы шифрования
ZipArchive::EM_NONE (int)
Без шифрования. Доступно с PHP 7.2.0 и PECL zip 1.14.0, соответственно, если скомпилировано с модулем libzip ≥ 1.2.0.
ZipArchive::EM_TRAD_PKWARE (int)
Традиционное шифрование PKWARE. Доступно с PHP 8.0.0 и PECL zip 1.19.0.
ZipArchive::EM_AES_128 (int)
Шифрование AES 128. Доступно с PHP 7.2.0 и PECL zip 1.14.0, соответственно, если скомпилировано с модулем libzip ≥ 1.2.0.
ZipArchive::EM_AES_192 (int)
Шифрование AES 192. Доступно с PHP 7.2.0 и PECL zip 1.14.0, соответственно, если скомпилировано с модулем libzip ≥ 1.2.0.
ZipArchive::EM_AES_256 (int)
Шифрование AES 256. Доступно с PHP 7.2.0 и PECL zip 1.14.0, соответственно, если скомпилировано с модулем libzip ≥ 1.2.0.
ZipArchive::EM_UNKNOWN (int)
Без шифрования. Доступно с PHP 8.0.0 и PECL zip 1.19.0.
Константы параметров длины
ZipArchive::LENGTH_TO_END (int)
Использовать размер файла, если файл увеличивается, дополнительные данные будут проигнорированы, если файл уменьшается, возникнет ошибка (ZipArchive::ER_DATA_LENGTH). Доступно с PHP 8.3.0 и PECL zip 1.22.2.
ZipArchive::LENGTH_UNCHECKED (int)
Использовать все доступные данные. Доступно с PHP 8.3.0 и PECL zip 1.22.2, если собрано с модулем libzip ≥ 1.10.1.
Другие константы
ZipArchive::LIBZIP_VERSION (int) (string)
Версия библиотеки Zip. Доступно с PHP 7.4.3 и PECL zip 1.16.0.
Константы операционной системы для внешних атрибутов
ZipArchive::OPSYS_DOS (int)
ZipArchive::OPSYS_AMIGA (int)
ZipArchive::OPSYS_OPENVMS (int)
ZipArchive::OPSYS_UNIX (int)
ZipArchive::OPSYS_VM_CMS (int)
ZipArchive::OPSYS_ATARI_ST (int)
ZipArchive::OPSYS_OS_2 (int)
ZipArchive::OPSYS_MACINTOSH (int)
ZipArchive::OPSYS_Z_SYSTEM (int)
ZipArchive::OPSYS_CPM (int)
ZipArchive::OPSYS_WINDOWS_NTFS (int)
ZipArchive::OPSYS_MVS (int)
ZipArchive::OPSYS_VSE (int)
ZipArchive::OPSYS_ACORN_RISC (int)
ZipArchive::OPSYS_VFAT (int)
ZipArchive::OPSYS_ALTERNATE_MVS (int)
ZipArchive::OPSYS_BEOS (int)
ZipArchive::OPSYS_TANDEM (int)
ZipArchive::OPSYS_OS_400 (int)
ZipArchive::OPSYS_OS_X (int)
ZipArchive::OPSYS_DEFAULT (int)
Начиная с PECL zip 1.12.4
Добавить

Примечания пользователей 2 notes

up
61
scott at bluecamel dot eml dot cc
16 years ago
#define ZIP_ER_OK 0 /* N No error */
#define ZIP_ER_MULTIDISK 1 /* N Multi-disk zip archives not supported */
#define ZIP_ER_RENAME 2 /* S Renaming temporary file failed */
#define ZIP_ER_CLOSE 3 /* S Closing zip archive failed */
#define ZIP_ER_SEEK 4 /* S Seek error */
#define ZIP_ER_READ 5 /* S Read error */
#define ZIP_ER_WRITE 6 /* S Write error */
#define ZIP_ER_CRC 7 /* N CRC error */
#define ZIP_ER_ZIPCLOSED 8 /* N Containing zip archive was closed */
#define ZIP_ER_NOENT 9 /* N No such file */
#define ZIP_ER_EXISTS 10 /* N File already exists */
#define ZIP_ER_OPEN 11 /* S Can't open file */
#define ZIP_ER_TMPOPEN 12 /* S Failure to create temporary file */
#define ZIP_ER_ZLIB 13 /* Z Zlib error */
#define ZIP_ER_MEMORY 14 /* N Malloc failure */
#define ZIP_ER_CHANGED 15 /* N Entry has been changed */
#define ZIP_ER_COMPNOTSUPP 16 /* N Compression method not supported */
#define ZIP_ER_EOF 17 /* N Premature EOF */
#define ZIP_ER_INVAL 18 /* N Invalid argument */
#define ZIP_ER_NOZIP 19 /* N Not a zip archive */
#define ZIP_ER_INTERNAL 20 /* N Internal error */
#define ZIP_ER_INCONS 21 /* N Zip archive inconsistent */
#define ZIP_ER_REMOVE 22 /* S Can't remove file */
#define ZIP_ER_DELETED 23 /* N Entry has been deleted */
up
3
ohcc at 163 dot com
9 years ago
0 ZIPARCHIVE::ER_OK 没有错误。
1 ZIPARCHIVE::ER_MULTIDISK 不支持多磁盘zip压缩包。
2 ZIPARCHIVE::ER_RENAME 重命名临时文件失败。
3 ZIPARCHIVE::ER_CLOSE 关闭zip压缩包失败。
4 ZIPARCHIVE::ER_SEEK 寻址错误
5 ZIPARCHIVE::ER_READ 读取错误
6 ZIPARCHIVE::ER_WRITE 写入错误
7 ZIPARCHIVE::ER_CRC CRC校验失败
8 ZIPARCHIVE::ER_ZIPCLOSED zip压缩包已关闭
9 ZIPARCHIVE::ER_NOENT 没有文件
10 ZIPARCHIVE::ER_EXISTS 文件已经存在
11 ZIPARCHIVE::ER_OPEN 不能打开文件
12 ZIPARCHIVE::ER_TMPOPEN 创建临时文件失败
13 ZIPARCHIVE::ER_ZLIB Zlib错误
14 ZIPARCHIVE::ER_MEMORY 内存分配失败
15 ZIPARCHIVE::ER_CHANGED 条目已被改变
16 ZIPARCHIVE::ER_COMPNOTSUPP 不支持的压缩方式
17 ZIPARCHIVE::ER_EOF 过早的EOF
18 ZIPARCHIVE::ER_INVAL 无效的参数
19 ZIPARCHIVE::ER_NOZIP 不是一个zip压缩包
20 ZIPARCHIVE::ER_INTERNAL Internal
21 ZIPARCHIVE::ER_INCONS Zip压缩包不一致
22 ZIPARCHIVE::ER_REMOVE 不能移除文件
23 ZIPARCHIVE::ER_DELETED 条目已被删除
To Top