(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)
PharData::convertToData — phar アーカイブを実行可能でない tar あるいは zip ファイルに変換する
$format
= null
, ?int$compression
= null
, ?string$extension
= null
): ?PharDataこのメソッドは、実行可能でない tar あるいは zip アーカイブを別の実行可能でない形式に変換します。
何も変更しなかった場合、このメソッドは BadMethodCallException をスローします。 このメソッドは、tar アーカイブを zip 形式に変換するか あるいはその逆の変換をする場合に使用するものです。 このメソッドで単に tar アーカイブの圧縮方法だけを変更することもできますが、 その場合は PharData::compress() を使うことをおすすめします。
成功した場合は、このメソッドはディスク上に新しいアーカイブを作成して 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
となります。
圧縮ができない場合や無効な圧縮方式が指定された場合、あるいは Phar::startBuffering() でバッファリングしたまま Phar::stopBuffering() を実行していないアーカイブを処理しようとした場合に BadMethodCallException をスローします。 また、phar 作成中に何らかの問題が発生した場合に PharException をスローします。
バージョン | 説明 |
---|---|
8.0.0 | format 、 compression 、 extension は、nullable になりました。 |
例1 PharData::convertToData() の例
PharData::convertToData() の使用法です。
<?php
try {
$tarphar = new PharData('myphar.tar');
// myphar.tar は削除 *されない* ことに注意しましょう