そのまんま!

PharFileInfo->setCompressedBZIP2

(no version information, might be only in CVS)

PharFileInfo->setCompressedBZIP2 -- phar 内の現在の Phar エントリを、Bzip2 で圧縮する

説明

bool PharFileInfo->setCompressedBZIP2 ( void )

このメソッドは、Phar アーカイブ内のファイルを bzip2 を使用して圧縮します。この機能を使用するには、 bzip2 拡張モジュールが有効になっていなければなりません。 また、すでに gzip で圧縮されているファイルを処理するためには、 まず gzip を伸張するために zlib 拡張モジュールが有効になっていなければなりません。 この関数は phar の内容を変更するので、使用するには INI 設定 phar.readonly が off になっていなければなりません。

エラー / 例外

INI 設定 phar.readonly が on の場合、あるいは bzip2 拡張モジュールが使用できない場合に BadMethodCallException をスローします。

例 1. PharFileInfo->setCompressedBZIP2() の例

<?php
try
{
    
$p = new Phar('/path/to/my.phar', 0, 'my.phar');
    
$p['myfile.txt'] = 'hi';
    
$file = $p['myfile.txt'];
    
var_dump($file->isCompressedBZIP2());
    
$p['myfile.txt']->setCompressedBZIP2();
    
var_dump($file->isCompressedBZIP2());
}
catch (Exception $e) {
    echo
'my.phar の作成/変更に失敗しました: ', $e;
}
?>

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

bool(false)
bool(true)

参考

PharFileInfo->getCompressedSize()
PharFileInfo->isCompressedGZ()
PharFileInfo->isCompressed()
PharFileInfo->isCompressedGZ()
PharFileInfo->isCompressed()
Phar->compressAllFilesBZIP2()