diff --git a/reference/phar/Phar/addFromString.xml b/reference/phar/Phar/addFromString.xml index 954ddae1f9..7ddf3fe40c 100644 --- a/reference/phar/Phar/addFromString.xml +++ b/reference/phar/Phar/addFromString.xml @@ -1,6 +1,6 @@ - + Phar::addFromString @@ -68,7 +68,7 @@ try { $b = $a['path/to/file.txt']->getContent(); // 大きなファイル用にストリームハンドルから追加するには offsetSet() を使用します - $c = fopen('/path/to/hugefile.bin'); + $c = fopen('/path/to/hugefile.bin', 'rb'); $a['largefile.bin'] = $c; fclose($c); } catch (Exception $e) { diff --git a/reference/phar/Phar/copy.xml b/reference/phar/Phar/copy.xml index e209faaca5..390140cddc 100644 --- a/reference/phar/Phar/copy.xml +++ b/reference/phar/Phar/copy.xml @@ -1,6 +1,6 @@ - + Phar::copy @@ -93,7 +93,7 @@ try { // 上のコードと同等の処理をストリームラッパーで行う例。 // エラー時には例外ではなく E_WARNINGS が発生します -copy('phar://myphar.phar/a', 'phar//myphar.phar/c'); +copy('phar://myphar.phar/a', 'phar://myphar.phar/c'); echo file_get_contents('phar://myphar.phar/c'); // 出力は "hi" ?> diff --git a/reference/phar/Phar/decompress.xml b/reference/phar/Phar/decompress.xml index 72c53e9c1d..80d675a49d 100644 --- a/reference/phar/Phar/decompress.xml +++ b/reference/phar/Phar/decompress.xml @@ -1,6 +1,6 @@ - + @@ -16,10 +16,13 @@ &phar.write; - + tar 形式あるいは phar 形式の phar アーカイブの場合は、 このメソッドはアーカイブ全体の圧縮を解除します。 - + 圧縮を解除したアーカイブは、元のアーカイブと同じディレクトリに別のファイルとして書き込まれ、 + 新しい Phar オブジェクトとして返されます。 + 元のアーカイブは変更されません。 + zip 形式の phar アーカイブの場合は、このメソッドは失敗して例外が発生します。 gzip で圧縮されたファイルの圧縮を解除するためには zlib @@ -29,12 +32,15 @@ phar.readonly が off になっていなければなりません。 - - さらに、このメソッドは自動的にアーカイブの拡張子を変更し、 - phar アーカイブなら .phar、 - tar 形式のアーカイブなら .phar.tar をデフォルトで追加します。 - もうひとつの方法として、ファイルの拡張子を 2 番目のパラメータで指定することもできます。 - + + さらに、このメソッドは新しいアーカイブの拡張子を自動的に変更します。 + デフォルトの拡張子は、phar アーカイブなら .phar、 + tar 形式のアーカイブなら .phar.tar です。 + たとえば、/path/to/my.phar.gz の圧縮を解除すると + /path/to/my.phar が作成されます。 + もうひとつの方法として、ファイルの拡張子を + extension 引数で指定することもできます。 + @@ -51,6 +57,13 @@ 実行可能な phar アーカイブは、ファイル名に必ず .phar を含まなければならないことに注意しましょう。 + + 元のアーカイブの拡張子 (.phar.gz + や .tar.gz など) は、指定した拡張子に置き換わります。 + そのため、decompressed.phar を渡して + /path/to/my.phar.gz の圧縮を解除すると、 + /path/to/my.decompressed.phar が作成されます。 + @@ -68,13 +81,14 @@ &reftitle.errors; - + INI 設定 phar.readonly が on の場合、zlib - 拡張モジュールが使用できない場合、あるいは - bzip2 拡張モジュールが使用できない場合に + 拡張モジュールが使用できない場合、 + bzip2 拡張モジュールが使用できない場合、 + 作成するアーカイブと同じ名前の phar が既に存在する場合に BadMethodCallException をスローします。 - + @@ -107,10 +121,11 @@ decompress(); // /path/to/my.phar を作成します +$p2 = $p->compress(Phar::GZ); // /path/to/my.phar.gz を作成します +$p3 = $p2->decompress('decompressed.phar'); // /path/to/my.decompressed.phar を作成します ?> ]]> diff --git a/reference/phar/Phar/isCompressed.xml b/reference/phar/Phar/isCompressed.xml index f08529f9b9..40c864dea1 100644 --- a/reference/phar/Phar/isCompressed.xml +++ b/reference/phar/Phar/isCompressed.xml @@ -1,6 +1,6 @@ - + Phar::isCompressed @@ -53,8 +53,8 @@ try { var_dump($phar1->isCompressed()); $phar2 = new Phar('myuncompressed.tar.phar'); var_dump($phar2->isCompressed()); - $phar2->compress(Phar::GZ); - var_dump($phar2->isCompressed() == Phar::GZ); + $phar3 = $phar2->compress(Phar::GZ); + var_dump($phar3->isCompressed() == Phar::GZ); } catch (Exception $e) { } ?> diff --git a/reference/phar/Phar/startBuffering.xml b/reference/phar/Phar/startBuffering.xml index 4b2ec40987..535b397e92 100644 --- a/reference/phar/Phar/startBuffering.xml +++ b/reference/phar/Phar/startBuffering.xml @@ -1,6 +1,6 @@ - + Phar::startBuffering @@ -73,14 +73,13 @@ echo '新しい phar のエントリ数は ' . $p->count() . " です\n"; $p->startBuffering(); $p['file.txt'] = 'hi'; $p['file2.txt'] = 'there'; -$p['file2.txt']->setCompressedGZ(); +$p['file2.txt']->compress(Phar::GZ); $p['file3.txt'] = 'babyface'; $p['file3.txt']->setMetadata(42); $p->setStub(" - + @@ -68,7 +68,7 @@ try { $b = $a['path/to/file.txt']->getContent(); // 大きなファイル用にストリームハンドルから追加するには offsetSet() を使用します - $c = fopen('/path/to/hugefile.bin'); + $c = fopen('/path/to/hugefile.bin', 'rb'); $a['largefile.bin'] = $c; fclose($c); } catch (Exception $e) { diff --git a/reference/phar/PharFileInfo/isCompressed.xml b/reference/phar/PharFileInfo/isCompressed.xml index 2a2ccd2c83..0885815a56 100644 --- a/reference/phar/PharFileInfo/isCompressed.xml +++ b/reference/phar/PharFileInfo/isCompressed.xml @@ -1,6 +1,6 @@ - + PharFileInfo::isCompressed @@ -78,7 +78,7 @@ try { $p = new Phar('/path/to/my.phar', 0, 'my.phar'); $p['myfile.txt'] = 'hi'; $p['myfile2.txt'] = 'hi'; - $p['myfile2.txt']->setCompressedGZ(); + $p['myfile2.txt']->compress(Phar::GZ); $file = $p['myfile.txt']; $file2 = $p['myfile2.txt']; var_dump($file->isCompressed());