phar アーカイブ全体が (.tar.gz/tar.bz などで) 圧縮されている場合に Phar::GZ あるいは PHAR::BZ2 を返す

# Phar::isCompressed

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

Phar::isCompressed — phar アーカイブ全体が (.tar.gz/tar.bz などで) 圧縮されている場合に Phar::GZ あるいは PHAR::BZ2 を返す

### 説明

public function Phar::isCompressed(): int|false

> 注意: このメソッドは、php.ini の `phar.readonly` が `0` でないと Phar オブジェクトで動作しません。それ以外の場合は PharException がスローされます。

phar アーカイブ全体が (.tar.gz/tar.bz などで) 圧縮されている場合に Phar::GZ あるいは PHAR::BZ2 を返します。 zip 形式の phar アーカイブはファイル単位で圧縮することができません。 そのため、zip 形式の phar アーカイブを調べたときはこのメソッドは常に `false` を返します。

### パラメータ

パラメータはありません。

### 戻り値

`Phar::GZ`、 `Phar::BZ2` あるいは `false` を返します。

### 例

例1 Phar::isCompressed() の例

    <?php
    try {
        $phar1 = new Phar('myphar.zip.phar');
        var_dump($phar1->isCompressed());
        $phar2 = new Phar('myuncompressed.tar.phar');
        var_dump($phar2->isCompressed());
        $phar2->compress(Phar::GZ);
        var_dump($phar2->isCompressed() == Phar::GZ);
    } catch (Exception $e) {
    }
    ?>

上の例の出力は以下となります。

    bool(false)
    bool(false)
    bool(true)

### 参考

- PharFileInfo::getCompressedSize() - Phar アーカイブ内での実際のファイルの大きさ (圧縮された状態) を返す
- PharFileInfo::isCompressed() - エントリが圧縮されているかどうかを調べる
- PharFileInfo::decompress() - phar 内の現在の Phar エントリの圧縮を解除する
- PharFileInfo::compress() - 現在の Phar エントリを zlib あるいは bzip2 のいずれかで圧縮する
- Phar::decompress() - Phar アーカイブ全体の圧縮を解除する
- Phar::compress() - Phar アーカイブ全体を Gzip あるいは Bzip2 で圧縮する
- Phar::canCompress() - phar 拡張モジュールが zlib あるいは bzip2 による圧縮をサポートしているかどうかを返す
- Phar::compressFiles() - 現在の Phar アーカイブ内のすべてのファイルを圧縮する
- Phar::decompressFiles() - 現在の Phar アーカイブ内のすべてのファイルの圧縮を解除する
- Phar::getSupportedCompression() - サポートする圧縮アルゴリズムの配列を返す

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open