预定义常量
下列常量由此扩展定义,且仅在此扩展编译入 PHP 或在运行时动态载入时可用。
ZipArchive 使用类常量。有各种类型的常量,主要有:Flag(以 FL_
为前缀)、全局 Flag(以 AFL_ 为前缀)、错误(以 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) - 对归档执行额外的一致性检查,如果失败则显示错误。
-
归档全局 flag
-
ZipArchive::AFL_RDONLY(int) - 归档只读,无法清除。如果构建时使用的是 libzip ≥ 1.10.0,分别在 PHP 8.3.0 和 PECL zip 1.22.0 中可用。
-
ZipArchive::AFL_IS_TORRENTZIP(int) - 当前归档是 torrentzipped(使用 BitTorrent 压缩)。如果构建时使用的是 libzip ≥ 1.10.0,分别在 PHP 8.3.0 和 PECL zip 1.22.0 中可用。
-
ZipArchive::AFL_WANT_TORRENTZIP(int) - 使用 torrentzip 格式写入归档。如果构建时使用的是 libzip ≥ 1.10.0,分别在 PHP 8.3.0 和 PECL zip 1.22.0 中可用。
-
ZipArchive::AFL_CREATE_OR_KEEP_FILE_FOR_EMPTY_ARCHIVE(int) - 归档为空时不要删除文件。如果构建时使用的是 libzip ≥ 1.10.0,分别在 PHP 8.3.0 和 PECL zip 1.22.0 中可用。
-
归档 flag
-
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) - 在本地 header 中。 PHP 8.0.0 和 PECL zip 1.18.0 起可以使用。
-
ZipArchive::FL_CENTRAL(int) - In central directory. 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) - 更好的压缩或存储。
-
ZIPARCHIVE::CM_STORE(int) - 存储(不压缩)。
-
ZIPARCHIVE::CM_SHRINK(int) - 收缩
-
ZIPARCHIVE::CM_REDUCE_1(int) - 用因子 1 换算
-
ZIPARCHIVE::CM_REDUCE_2(int) - 用因子 2 换算
-
ZIPARCHIVE::CM_REDUCE_3(int) - 用因子 3 换算
-
ZIPARCHIVE::CM_REDUCE_4(int) - 用因子 4 换算
-
ZIPARCHIVE::CM_IMPLODE(int) - 聚爆
-
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 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(int) - Zstandard(zstd)压缩算法。如果针对 libzip ≥ 1.8.0 编译,则分别从 PHP 8.0.0 和 PECL zip 1.19.1 开始可用。
-
ZipArchive::CM_XZ(int) - XZ 算法。 在 PHP 7.4.3 和 PECL zip 1.16.1 中可用,前提是编译时使用的 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) - CRC校验失败
-
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) - 条目已被改变
-
ZIPARCHIVE::ER_COMPNOTSUPP(int) - 不支持的压缩方式
-
ZIPARCHIVE::ER_EOF(int) - 过早的EOF
-
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) - Tell error. 在 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.6.0。
-
ZipArchive::ER_CANCELLED(int) - 操作已取消。 在 PHP 7.4.3 和 PECL zip 1.16.1 中可用,前提是编译时使用的 libzip 版本大于等于 1.6.0。
-
ZipArchive::ER_DATA_LENGTH(int) - 数据长度异常。如果构建时使用的是 libzip ≥ 1.10.0,分别在 PHP 8.3.0 和 PECL zip 1.22.0 中可用。
-
ZipArchive::ER_NOT_ALLOWED(int) - 在 torrentzip 中不允许。如果构建时使用的是 libzip ≥ 1.10.0,分别在 PHP 8.3.0 和 PECL zip 1.22.0 中可用。
-
ZipArchive::ER_TRUNCATED_ZIP(int) - 可能截断或损坏的 zip 归档。 如果构建时使用的是 libzip ≥ 1.11.1, 分别在 PHP 8.4.0 和 PECL zip 1.22.4 中可用。
-
加密模式
-
ZipArchive::EM_NONE(int) - 没有加密。分别从 PHP 7.2.0 和 PECL zip 1.14.0 开始可用。
-
ZipArchive::EM_TRAD_PKWARE(int) - 传统 PKWARE 加密。分别从 PHP 8.0.0 和 PECL zip 1.19.0 开始可用。
-
ZipArchive::EM_AES_128(int) - AES 128 encryption, since PHP 7.2.0, PECL zip 1.14.0
-
ZipArchive::EM_AES_192(int) - AES 1192 encryption, since PHP 7.2.0, PECL zip 1.14.0
-
ZipArchive::EM_AES_256(int) - AES 256 encryption, since PHP 7.2.0, PECL zip 1.14.0
-
ZipArchive::EM_UNKNOWN(int) - 未知的加密算法。分别从 PHP 8.0.0 和 PECL zip 1.19.0 开始可用。
-
length 参数常量
-
ZipArchive::LENGTH_TO_END(int) -
使用的文件大小,如果文件增大,将会忽略附加数据,如果文件变小,则会引发错误(
ZipArchive::ER_DATA_LENGTH)。 自 PHP 8.3.0 和 PECL zip 1.22.2 起可用。 -
ZipArchive::LENGTH_UNCHECKED(int) - 使用所有可用的数据。如果针对 libzip ≥ 1.10.1 编译,自 PHP 8.3.0 和 PECL zip 1.22.2 起可用。
-
其它常量
-
ZipArchive::LIBZIP_VERSION(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 起可用