PHP Conference Japan 2024

預定義常數

以下常數由此擴充功能定義,並且只有在擴充功能已編譯到 PHP 中或在執行階段動態載入時才會可用。

ZipArchive 使用類別常數。 常數種類繁多,主要有: 旗標(以 FL_ 為前綴)、全域旗標(以 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 (整數)
對壓縮檔執行額外的一致性檢查,如果檢查失敗則產生錯誤。
壓縮檔全域旗標
ZipArchive::AFL_RDONLY (整數)
壓縮檔為唯讀,無法清除。分別在 PHP 8.3.0 和 PECL zip 1.22.0 版本之後可用,前提是使用 libzip ≥ 1.10.0 構建。
ZipArchive::AFL_IS_TORRENTZIP (整數)
目前的壓縮檔是 torrentzip 格式。分別在 PHP 8.3.0 和 PECL zip 1.22.0 版本之後可用,前提是使用 libzip ≥ 1.10.0 構建。
ZipArchive::AFL_WANT_TORRENTZIP (整數)
以 torrentzip 格式寫入壓縮檔。分別在 PHP 8.3.0 和 PECL zip 1.22.0 版本之後可用,前提是使用 libzip ≥ 1.10.0 構建。
ZipArchive::AFL_CREATE_OR_KEEP_FILE_FOR_EMPTY_ARCHIVE (整數)
如果壓縮檔為空,則不移除檔案。分別在 PHP 8.3.0 和 PECL zip 1.22.0 版本之後可用,前提是使用 libzip ≥ 1.10.0 構建。
壓縮檔旗標
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 (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 演算法。如果針對 libzip ≥ 1.6.0 進行建置,則分別自 PHP 7.4.3 和 PECL zip 1.16.0 起可用。
ZipArchive::CM_ZSTD (整數 (int))
Zstandard 演算法。如果針對 libzip ≥ 1.8.0 進行建置,則分別自 PHP 8.0.0 和 PECL zip 1.19.1 起可用。
ZipArchive::CM_XZ (整數 (int))
XZ 演算法。如果針對 libzip ≥ 1.6.0 進行建置,則分別自 PHP 7.4.3 和 PECL zip 1.16.1 起可用。
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 (整數)
項目已變更
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 (整數)
不支援的操作。如果以 libzip ≥ 1.0.0 建置,則分別從 PHP 7.4.3 和 PECL zip 1.16.1 開始提供。
ZipArchive::ER_INUSE (整數)
資源仍在使用中。如果以 libzip ≥ 1.0.0 建置,則分別從 PHP 7.4.3 和 PECL zip 1.16.1 開始提供。
ZipArchive::ER_TELL (整數)
Tell 錯誤。如果以 libzip ≥ 1.0.0 建置,則分別從 PHP 7.4.3 和 PECL zip 1.16.1 開始提供。
ZipArchive::ER_COMPRESSED_DATA (整數)
壓縮資料無效。如果以 libzip ≥ 1.6.0 建置,則分別從 PHP 7.4.3 和 PECL zip 1.16.1 開始提供。
ZipArchive::ER_CANCELLED (整數)
操作已取消。如果以 libzip ≥ 1.6.0 建置,則分別從 PHP 7.4.3 和 PECL zip 1.16.1 開始提供。
ZipArchive::ER_DATA_LENGTH (整數)
資料長度異常。此功能分別自 PHP 8.3.0 和 PECL zip 1.22.0 起可用,前提是基於 libzip ≥ 1.10.0 構建。
ZipArchive::ER_NOT_ALLOWED (整數)
在 torrentzip 中不允許。此功能分別自 PHP 8.3.0 和 PECL zip 1.22.0 起可用,前提是基於 libzip ≥ 1.10.0 構建。
ZipArchive::ER_TRUNCATED_ZIP (整數)
zip 檔案可能被截斷或損毀。此功能分別自 PHP 8.4.0 和 PECL zip 1.22.4 起可用,前提是基於 libzip ≥ 1.11.1 構建。
加密模式
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 加密。此功能分別自 PHP 7.2.0 和 PECL zip 1.14.0 起可用,前提是基於 libzip ≥ 1.2.0 構建。
ZipArchive::EM_AES_192 (整數)
AES 192 加密。此功能分別自 PHP 7.2.0 和 PECL zip 1.14.0 起可用,前提是基於 libzip ≥ 1.2.0 構建。
ZipArchive::EM_AES_256 (整數)
AES 256 加密。此功能分別自 PHP 7.2.0 和 PECL zip 1.14.0 起可用,前提是基於 libzip ≥ 1.2.0 構建。
ZipArchive::EM_UNKNOWN (整數)
未知的加密演算法。此功能分別自 PHP 8.0.0 和 PECL zip 1.19.0 起可用。
長度參數常數
ZipArchive::LENGTH_TO_END (整數)
使用檔案大小,如果檔案增加額外資料將被忽略,如果檔案縮小則會引發錯誤 (ZipArchive::ER_DATA_LENGTH)。此功能分別自 PHP 8.3.0 和 PECL zip 1.22.2 起可用。
ZipArchive::LENGTH_UNCHECKED (整數)
使用所有可用資料。此功能分別自 PHP 8.3.0 和 PECL zip 1.22.2 起可用,前提是基於 libzip ≥ 1.10.1 構建。
其他常數
ZipArchive::LIBZIP_VERSION (字串)
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 起
新增註解

使用者貢獻的註解 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 過早的 EOF */
#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 過早的 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