预定义常量

下列常量由此扩展定义,且仅在此扩展编译入 PHP 或在运行时动态载入时可用。

ZipArchive 使用类常量。有各种类型的常量,主要有:Flag(以 FL_ 为前缀)、全局 Flag(以 AFL_ 为前缀)、错误(以 ER_ 为前缀)以及模式(没有前缀)。

归档打开模式
ZIPARCHIVE::CREATE
如果不存在则创建归档。
ZIPARCHIVE::OVERWRITE
如果归档存在,则忽略其当前内容。换句话说,处理方式与空归档相同。
ZIPARCHIVE::EXCL
如果归档已经存在,则出错。
ZipArchive::RDONLY
只读模式打开归档。 在 PHP 7.4.3 和 PECL zip 1.17.1 中可用,前提是编译时使用的 libzip 版本大于等于 1.0.0。
ZIPARCHIVE::CHECKCONS
对归档执行额外的一致性检查,如果失败则显示错误。
归档全局 flag
ZipArchive::AFL_RDONLY
归档只读,无法清除。如果构建时使用的是 libzip ≥ 1.10.0,分别在 PHP 8.3.0 和 PECL zip 1.22.0 中可用。
ZipArchive::AFL_IS_TORRENTZIP
当前归档是 torrentzipped(使用 BitTorrent 压缩)。如果构建时使用的是 libzip ≥ 1.10.0,分别在 PHP 8.3.0 和 PECL zip 1.22.0 中可用。
ZipArchive::AFL_WANT_TORRENTZIP
使用 torrentzip 格式写入归档。如果构建时使用的是 libzip ≥ 1.10.0,分别在 PHP 8.3.0 和 PECL zip 1.22.0 中可用。
ZipArchive::AFL_CREATE_OR_KEEP_FILE_FOR_EMPTY_ARCHIVE
归档为空时不要删除文件。如果构建时使用的是 libzip ≥ 1.10.0,分别在 PHP 8.3.0 和 PECL zip 1.22.0 中可用。
归档 flag
ZIPARCHIVE::FL_NOCASE
名称查找时忽略大小写。
ZIPARCHIVE::FL_NODIR
忽略目录部分
ZIPARCHIVE::FL_COMPRESSED
读取压缩数据
ZIPARCHIVE::FL_UNCHANGED
使用原始数据,忽略更改。
ZipArchive::FL_RECOMPRESS
强制重新压缩数据。 PHP 8.0.0 和 PECL zip 1.18.0 起可以使用。 从 PHP 8.3.0 和 PECL zip 1.22.1 起已被弃用, 将在 libzip 的未来版本中被删除。
ZipArchive::FL_ENCRYPTED
读取加密数据(意味着 FL_COMPRESSED)。 PHP 8.0.0 和 PECL zip 1.18.0 起可以使用。
ZipArchive::FL_OVERWRITE
如果文件名称存在,重写(覆盖)它。 PHP 8.0.0 和 PECL zip 1.18.0 起可以使用。
ZipArchive::FL_LOCAL
在本地 header 中。 PHP 8.0.0 和 PECL zip 1.18.0 起可以使用。
ZipArchive::FL_CENTRAL
In central directory. PHP 8.0.0 和 PECL zip 1.18.0 起可以使用。
ZipArchive::FL_ENC_GUESS
猜测字符串编码(默认情况)。从 PHP 7.0.8 起可用。
ZipArchive::FL_ENC_RAW
获取未修改的字符串。从 PHP 7.0.8 起可用。
ZipArchive::FL_ENC_STRICT
严格遵循规范要求。从 PHP 7.0.8 起可用。
ZipArchive::FL_ENC_UTF_8
字符串是 UTF-8 编码。从 PHP 7.0.8 起可用。
ZipArchive::FL_ENC_CP437
字符串是 CP437 编码。从 PHP 7.0.8 起可用。
ZipArchive::FL_OPEN_FILE_NOW
在添加文件,而不是等待归档关闭时打开文件。需要注意文件描述符消耗的情况。 从 PHP 8.3.0 和 PECL zip 1.22.1 起可用。
压缩模式
ZIPARCHIVE::CM_DEFAULT
更好的压缩或存储。
ZIPARCHIVE::CM_STORE
存储(不压缩)。
ZIPARCHIVE::CM_SHRINK
收缩
ZIPARCHIVE::CM_REDUCE_1
用因子 1 换算
ZIPARCHIVE::CM_REDUCE_2
用因子 2 换算
ZIPARCHIVE::CM_REDUCE_3
用因子 3 换算
ZIPARCHIVE::CM_REDUCE_4
用因子 4 换算
ZIPARCHIVE::CM_IMPLODE
聚爆
ZIPARCHIVE::CM_DEFLATE
deflated
ZIPARCHIVE::CM_DEFLATE64
deflate64
ZIPARCHIVE::CM_PKWARE_IMPLODE
PKWARE imploding
ZIPARCHIVE::CM_BZIP2
BZIP2 算法
ZipArchive::CM_LZMA
LZMA 算法
ZipArchive::CM_LZMA2
LZMA2 algorithm. Available as of PHP 7.4.3 and PECL zip 1.16.0, respectively, if built against libzip ≥ 1.6.0.
ZipArchive::CM_ZSTD
Zstandard(zstd)压缩算法。如果针对 libzip ≥ 1.8.0 编译,则分别从 PHP 8.0.0 和 PECL zip 1.19.1 开始可用。
ZipArchive::CM_XZ
XZ 算法。 在 PHP 7.4.3 和 PECL zip 1.16.1 中可用,前提是编译时使用的 libzip 版本大于等于 1.6.0。
ZipArchive::CM_TERSE
ZipArchive::CM_LZ77
ZipArchive::CM_WAVPACK
ZipArchive::CM_PPMD
错误
ZIPARCHIVE::ER_OK
没有错误。
ZIPARCHIVE::ER_MULTIDISK
不支持多磁盘 zip 归档。
ZIPARCHIVE::ER_RENAME
重命名临时文件失败。
ZIPARCHIVE::ER_CLOSE
关闭 zip 归档失败
ZIPARCHIVE::ER_SEEK
寻址错误
ZIPARCHIVE::ER_READ
读取错误
ZIPARCHIVE::ER_WRITE
写入错误
ZIPARCHIVE::ER_CRC
CRC校验失败
ZIPARCHIVE::ER_ZIPCLOSED
zip 归档已关闭
ZIPARCHIVE::ER_NOENT
没有文件
ZIPARCHIVE::ER_EXISTS
文件已经存在
ZIPARCHIVE::ER_OPEN
不能打开文件
ZIPARCHIVE::ER_TMPOPEN
创建临时文件失败
ZIPARCHIVE::ER_ZLIB
Zlib错误
ZIPARCHIVE::ER_MEMORY
内存分配失败
ZIPARCHIVE::ER_CHANGED (string)
条目已被改变
ZIPARCHIVE::ER_COMPNOTSUPP
不支持的压缩方式
ZIPARCHIVE::ER_EOF
过早的EOF
ZIPARCHIVE::ER_INVAL
无效的参数
ZIPARCHIVE::ER_NOZIP
不是 zip 归档
ZIPARCHIVE::ER_INTERNAL
内部错误
ZIPARCHIVE::ER_INCONS
Zip 归档不一致
ZIPARCHIVE::ER_REMOVE
不能移除文件
ZIPARCHIVE::ER_DELETED
条目已删除
ZipArchive::ER_ENCRNOTSUPP
不支持的压缩方式。 PHP 7.4.3 和 PECL zip 1.16.1 起可用。
ZipArchive::ER_RDONLY
归档只读。 分别于 PHP 7.4.3 和 PECL zip 1.16.1 起可用。
ZipArchive::ER_NOPASSWD
没有提供密码。 分别于 PHP 7.4.3 和 PECL zip 1.16.1 起可用。
ZipArchive::ER_WRONGPASSWD
提供的密码错误。 分别于 PHP 7.4.3 和 PECL zip 1.16.1 起可用。
ZipArchive::ER_OPNOTSUPP
操作不支持。 在 PHP 7.4.3 和 PECL zip 1.16.1 中可用,前提是编译时使用的 libzip 版本大于等于 1.0.0。
ZipArchive::ER_INUSE
资源仍在使用。 在 PHP 7.4.3 和 PECL zip 1.16.1 中可用,前提是编译时使用的 libzip 版本大于等于 1.0.0。
ZipArchive::ER_TELL
Tell error. 在 PHP 7.4.3 和 PECL zip 1.16.1 中可用,前提是编译时使用的 libzip 版本大于等于 1.0.0。
ZipArchive::ER_COMPRESSED_DATA
压缩数据无效。 在 PHP 7.4.3 和 PECL zip 1.16.1 中可用,前提是编译时使用的 libzip 版本大于等于 1.6.0。
ZipArchive::ER_CANCELLED
操作已取消。 在 PHP 7.4.3 和 PECL zip 1.16.1 中可用,前提是编译时使用的 libzip 版本大于等于 1.6.0。
ZipArchive::ER_DATA_LENGTH
数据长度异常。如果构建时使用的是 libzip ≥ 1.10.0,分别在 PHP 8.3.0 和 PECL zip 1.22.0 中可用。
ZipArchive::ER_NOT_ALLOWED
在 torrentzip 中不允许。如果构建时使用的是 libzip ≥ 1.10.0,分别在 PHP 8.3.0 和 PECL zip 1.22.0 中可用。
加密模式
ZipArchive::EM_NONE
没有加密。分别从 PHP 7.2.0 和 PECL zip 1.14.0 开始可用。
ZipArchive::EM_TRAD_PKWARE
传统 PKWARE 加密。分别从 PHP 8.0.0 和 PECL zip 1.19.0 开始可用。
ZipArchive::EM_AES_128
AES 128 encryption, since PHP 7.2.0, PECL zip 1.14.0
ZipArchive::EM_AES_192
AES 1192 encryption, since PHP 7.2.0, PECL zip 1.14.0
ZipArchive::EM_AES_256
AES 256 encryption, since PHP 7.2.0, PECL zip 1.14.0
ZipArchive::EM_UNKNOWN
未知的加密算法。分别从 PHP 8.0.0 和 PECL zip 1.19.0 开始可用。
其它常量
ZipArchive::LIBZIP_VERSION (string)
Zip 库版本。从 PHP 7.4.3 和 PECL zip 1.16.0 开始起可用。
外部属性的操作系统常量
ZipArchive::OPSYS_DOS
ZipArchive::OPSYS_AMIGA
ZipArchive::OPSYS_OPENVMS
ZipArchive::OPSYS_UNIX
ZipArchive::OPSYS_VM_CMS
ZipArchive::OPSYS_ATARI_ST
ZipArchive::OPSYS_OS_2
ZipArchive::OPSYS_MACINTOSH
ZipArchive::OPSYS_Z_SYSTEM
ZipArchive::OPSYS_CPM
ZipArchive::OPSYS_WINDOWS_NTFS
ZipArchive::OPSYS_MVS
ZipArchive::OPSYS_VSE
ZipArchive::OPSYS_ACORN_RISC
ZipArchive::OPSYS_VFAT
ZipArchive::OPSYS_ALTERNATE_MVS
ZipArchive::OPSYS_BEOS
ZipArchive::OPSYS_TANDEM
ZipArchive::OPSYS_OS_400
ZipArchive::OPSYS_OS_X
ZipArchive::OPSYS_DEFAULT
自 PECL zip 1.12.4 起可用