壓縮等級 (compflags) 選項通常是一個介於 0 到 9 之間的整數值。系統的行為取決於所選的方法和 compflags 的值,有時可能與您的預期不符。
以下結果來自 Windows 平台上的 PHP 8.1,在其他系統或版本上可能有所不同
- 對於 CM_DEFAULT 方法,無論您將 compflags 設定為何值,一律使用壓縮等級 9 的 CM_DEFLATE,
- 對於 CM_STORE 方法,compflags 0-9 會得到相同的結果,這很明顯,因為該方法本身意味著「完全不壓縮」。然而,令人驚訝的是,當 compflags>9 時,會改用壓縮等級 9 的 CM_DEFLATE 方法。
- 對於 CM_DEFLATE 方法,1 表示最快且最弱的壓縮,而 9 表示最慢且最強的壓縮。 compflags=0 和 compflags>9 的效果與 compflags=9 相同,
- 對於 CM_BZIP2 方法,1 表示最快且最弱的壓縮,而 9 表示最慢且最強的壓縮。 compflags=0 的效果與 compflag=9 相同,如果您使用 compflags>9,該方法會令人驚訝地切換到壓縮等級 9 的 CM_DEFLATE,
- 對於 CM_XZ 方法,0 表示最快且最弱的壓縮,而 9 表示最慢且最強的壓縮。對於 compflags>9,該方法會令人驚訝地切換到壓縮等級 9 的 CM_DEFLATE。