Phar::__construct
Phar::convertToExecutable
Phar
PHP Manual

# Phar::convertToData

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

Phar::convertToData — phar アーカイブを実行可能でない tar あるいは zip ファイルに変換する

### 説明

PharData Phar::convertToData ([ int `$format`= 9021976 [, int `$compression`= 9021976 [, string `$extension` ]]] )

このメソッドは、実行可能な phar アーカイブを tar あるいは zip ファイルに変換します。 tar あるいは zip を実行可能ではない形式にするため、 phar スタブおよび phar エイリアスファイルはアーカイブから削除されます。

何も変更しなかった場合、もしアーカイブが phar 形式ならこのメソッドは BadMethodCallException をスローします。 tar あるいは zip 形式のアーカイブの場合は、 このメソッドはアーカイブを実行可能でない形式に変換します。

成功した場合は、このメソッドはディスク上に新しいアーカイブを作成して PharData オブジェクトを返します。 古いアーカイブは削除されずディスク上に残るので、 処理を終えたら手動で削除する必要があります。

### パラメータ

`format`

  これは Phar::TAR あるいは Phar::ZIP のいずれかとなります。 `NULL` を指定すると、現在のファイル形式をそのまま保持します。

`compression`

  アーカイブ全体の圧縮を行わない場合は Phar::NONE、 zlib による圧縮の場合は Phar::GZ、そして bzip による圧縮の場合は Phar::BZ2 のいずれかを指定します。

`extension`

  このパラメータは、変換後のアーカイブのデフォルトのファイル拡張子を変更します。 実行可能でない tar や zip アーカイブのファイル名としては .phar は使用できないことに注意しましょう。

  tar 形式の phar アーカイブの場合、デフォルトの拡張子は圧縮形式によって .tar、.tar.gz、 .tar.bz2 のいずれかとなります。 zip 形式のアーカイブの場合、デフォルトの拡張子は .zip となります。

### 返り値

このメソッドは、成功した場合に PharData オブジェクトを返します。失敗した場合は例外をスローします。

### エラー / 例外

圧縮ができない場合や無効な圧縮方式が指定された場合、あるいは Phar::startBuffering() でバッファリングしたまま Phar::stopBuffering() を実行していないアーカイブを処理しようとした場合に BadMethodCallException をスローします。 また、phar 作成中に何らかの問題が発生した場合に PharException をスローします。

### 例

例1 Phar::convertToData() の例

Phar::convertToData() の使用法です。

`<?php
try {
$tarphar = new Phar('myphar.phar.tar');
// myphar.phar.tar は削除 *されない* ことに注意しましょう
// 実行可能ではない tar 形式に変換し
// myphar.tar を作成します
$tar = $tarphar->convertToData();
// 実行可能でない zip 形式に変換し myphar.zip を作成します
$zip = $tarphar->convertToData(Phar::ZIP);
// myphar.tbz を作成します
$tgz = $tarphar->convertToData(Phar::TAR, Phar::BZ2, '.tbz');
// myphar.phar.tgz を作成します
$phar = $tarphar->convertToData(Phar::PHAR); // 例外をスローします
} catch (Exception $e) {
// ここでエラー処理をします
}
?>`

### 参考

- Phar::convertToExecutable() - phar アーカイブを実行可能な別の phar アーカイブ形式に変換する
- PharData::convertToExecutable() - 実行可能でない tar/zip アーカイブを実行可能な phar アーカイブ形式に変換する
- PharData::convertToData() - phar アーカイブを実行可能でない tar あるいは zip ファイルに変換する

Phar::__construct
Phar::convertToExecutable
Phar
PHP Manual