2024年PHP开发者大会(日本)

预定义常量

以下常量由此扩展定义,只有在将扩展编译到PHP中或在运行时动态加载时才可用。

ZipArchive 使用类常量。常量有多种类型,主要包括:标志(以FL_为前缀)、全局标志(以AFL_为前缀)、错误(以ER_为前缀)和模式(无前缀)。

存档打开模式
ZipArchive::CREATE (int)
如果存档不存在,则创建它。
ZipArchive::OVERWRITE (int)
如果存档已存在,则忽略其当前内容。换句话说,将其与空存档相同的方式处理。
ZipArchive::EXCL (int)
如果存档已存在,则报错。
ZipArchive::RDONLY (int)
以只读模式打开存档。如果针对libzip ≥ 1.0.0构建,则自PHP 7.4.3和PECL zip 1.17.1起可用。
ZipArchive::CHECKCONS (int)
对存档执行额外的完整性检查,如果检查失败则报错。
存档全局标志
ZipArchive::AFL_RDONLY (int)
存档为只读,无法清除。如果针对libzip ≥ 1.10.0构建,则自PHP 8.3.0和PECL zip 1.22.0起可用。
ZipArchive::AFL_IS_TORRENTZIP (int)
当前存档为torrentzipped。如果针对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起可用。
存档标志
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和store中较好的一种。
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)
deflate压缩
ZipArchive::CM_DEFLATE64 (int)
deflate64压缩
ZipArchive::CM_PKWARE_IMPLODE (int)
PKWARE 压缩
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.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)
文件意外结束。
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 错误。从 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)
意外的数据长度。从 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 开始可用。
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 (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条笔记

scott at bluecamel dot eml dot cc
16年前
#define ZIP_ER_OK 0 /* N 无错误 */
#define ZIP_ER_MULTIDISK 1 /* N 不支持多磁盘zip压缩包 */
#define ZIP_ER_RENAME 2 /* S 重命名临时文件失败 */
#define ZIP_ER_CLOSE 3 /* S 关闭zip压缩包失败 */
#define ZIP_ER_SEEK 4 /* S 查找错误 */
#define ZIP_ER_READ 5 /* S 读取错误 */
#define ZIP_ER_WRITE 6 /* S 写入错误 */
#define ZIP_ER_CRC 7 /* N CRC校验错误 */
#define ZIP_ER_ZIPCLOSED 8 /* N 包含的zip压缩包已关闭 */
#define ZIP_ER_NOENT 9 /* N 没有此文件 */
#define ZIP_ER_EXISTS 10 /* N 文件已存在 */
#define ZIP_ER_OPEN 11 /* S 无法打开文件 */
#define ZIP_ER_TMPOPEN 12 /* S 无法创建临时文件 */
#define ZIP_ER_ZLIB 13 /* Z Zlib错误 */
#define ZIP_ER_MEMORY 14 /* N 内存分配失败 */
#define ZIP_ER_CHANGED 15 /* N 条目已被更改 */
#define ZIP_ER_COMPNOTSUPP 16 /* N 不支持的压缩方法 */
#define ZIP_ER_EOF 17 /* N 提前到达文件末尾 */
#define ZIP_ER_INVAL 18 /* N 无效参数 */
#define ZIP_ER_NOZIP 19 /* N 不是zip压缩包 */
#define ZIP_ER_INTERNAL 20 /* N 内部错误 */
#define ZIP_ER_INCONS 21 /* N zip压缩包不一致 */
#define ZIP_ER_REMOVE 22 /* S 无法删除文件 */
#define ZIP_ER_DELETED 23 /* N 条目已被删除 */
ohcc at 163 dot com
8年前
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 提前到达文件末尾
18 ZIPARCHIVE::ER_INVAL 无效参数
19 ZIPARCHIVE::ER_NOZIP 不是zip压缩包
20 ZIPARCHIVE::ER_INTERNAL 内部错误
21 ZIPARCHIVE::ER_INCONS zip压缩包不一致
22 ZIPARCHIVE::ER_REMOVE 无法删除文件
23 ZIPARCHIVE::ER_DELETED 条目已被删除
To Top