Предопределённые константы
Модуль определяет следующие константы
и открывает доступ к ним только тогда, когда модуль либо собрали в 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