(PHP >= 8.3.0, PECL zip >= 1.22.0)
ZipArchive::getArchiveFlag — Zip アーカイブのグローバルフラグの値を返す
Zip アーカイブのグローバルフラグの値を返します。
flag
取得するグローバルフラグ。
以下の定数 AFL_* から選びます:
flags
flags が
ZipArchive::FL_UNCHANGED に設定された場合、
もともと設定されていた値が返されます。
アーカイブにフラグが設定されている場合は、1 を返します。 設定されていない場合は 0 を返します。 エラーが発生した場合は -1 を返します。
1 も -1 も
真と評価されるため、
単純な真偽判定では、
エラーをフラグが設定されているものとして扱ってしまいます。
結果は 1 と厳密に比較しなければなりません。
例1 アーカイブが torrentzip フォーマットかを調べる
<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip');
if ($res === TRUE) {
var_dump($zip->getArchiveFlag(ZipArchive::AFL_IS_TORRENTZIP));
} else {
echo 'failed, code:' . $res;
}
?>