Phar
PHP Manual

Phar::compressAllFilesBZIP2

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::compressAllFilesBZIP2現在の Phar アーカイブ内のすべてのファイルを Bzip2 で圧縮する

説明

bool Phar::compressAllFilesBZIP2 ( void )

注意: このメソッドは、phar 拡張モジュールバージョン 2.0.0 で削除されました。 今後は Phar::compress()Phar::decompress()Phar::compressFiles() および Phar::decompressFiles() をご利用ください。

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

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

エラー / 例外

INI 設定 phar.readonly が on の場合、bzip2 拡張モジュールが使用できない場合、あるいは gzip で圧縮されたファイルがあるのに zlib 拡張モジュールが使用できない場合に BadMethodCallException をスローします。

例1 Phar::compressAllFilesBZIP2() の例

<?php
$p 
= new Phar('/path/to/my.phar'0'my.phar');
$p['myfile.txt'] = 'hi';
$p['myfile2.txt'] = 'hi';
foreach (
$p as $file) {
    
var_dump($file->getFileName());
    
var_dump($file->isCompressed());
    
var_dump($file->isCompressedBZIP2());
    
var_dump($file->isCompressedGZ());
}
$p->compressAllFilesBZIP2();
foreach (
$p as $file) {
    
var_dump($file->getFileName());
    
var_dump($file->isCompressed());
    
var_dump($file->isCompressedBZIP2());
    
var_dump($file->isCompressedGZ());
}
?>

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

string(10) "myfile.txt"
bool(false)
bool(false)
bool(false)
string(11) "myfile2.txt"
bool(false)
bool(false)
bool(false)
string(10) "myfile.txt"
bool(true)
bool(true)
bool(false)
string(11) "myfile2.txt"
bool(true)
bool(true)
bool(false)

参考


Phar
PHP Manual