関数・クラス解説
PharData::convertToData
version:PHP 5 >= 5.3.0, PHP 7, PECL phar (公式)phar アーカイブを実行可能でない tar あるいは zip ファイルに変換する
公式リファレンス
書式
PharData::convertToData ([ int $format [, int $compression [, string $extension ]]] ) : 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 となります。
返値
このメソッドは、成功した場合に PharData オブジェクトを返します。失敗した場合は例外をスローします。
エラー
圧縮ができない場合や無効な圧縮方式が指定された場合、あるいは Phar::startBuffering() でバッファリングしたまま Phar::stopBuffering() を実行していないアーカイブを処理しようとした場合に BadMethodCallException をスローします。 また、phar 作成中に何らかの問題が発生した場合に PharException をスローします。
サンプル
例1 PharData::convertToData() の例
PharData::convertToData() の使用法です。
try {
$tarphar = new PharData('myphar.tar');
// myphar.tar は削除 *されない* ことに注意しましょう
// 実行可能ではない tar 形式に変換し
// myphar.zip を作成します
$zip = $tarphar->convertToData(Phar::ZIP);
// myphar.tbz を作成します
$tgz = $zip->convertToData(Phar::TAR, Phar::BZ2, '.tbz');
// myphar.phar.tgz を作成します
$phar = $tarphar->convertToData(Phar::PHAR); // throws exception
} catch (Exception $e) {
// ここでエラー処理をします
}
参考
ワード検索
※入力キーワードが、関数名・説明文・タグに含まれるものを検索関数名アルファベット別
最終更新一覧
●stristr
大文字小文字を区別せず文字列を検索し、ヒット箇所以降(あるいは以前)の文字列を返却
●stripslashes
バックスラッシュでエスケープされた文字列から、バックスラッシュを取り除く
●stripos
大文字小文字を区別せずに文字列が最初に現れる位置を取得する
●stripcslashes
addcslashes() でクォートされた文字列をアンクォートする
●strip_tags
文字列から HTML と PHP のタグを除去して返却
●strcspn
指定した文字が最初に現れる位置を調べる
●strcoll
ロケールに基づいて2つの文字列を比較し同じか(あるいは大小)を判定する
●strcmp
2つの文字列を比較し同じか(あるいは大小)を判定する
●strchr
strstr() のエイリアス
●strcasecmp
2つの文字列を比較(大文字小文字を区別せず同じとみなす)
カテゴリー一覧
PHP の振る舞いの変更
音声フォーマットの操作
認証サービス
コマンドライン関連
圧縮およびアーカイブ
暗号
データベース関連
日付および時刻関連
ファイルシステム
自然言語および文字エンコーディング
画像処理および作成
メール関連
数学
テキスト以外の MIME 型
プロセス制御
その他の基本モジュール
その他のサービス
検索エンジン用の拡張モジュール
サーバー固有のモジュール
セッション関連
テキスト処理
変数・データ型関連
ウェブサービス
Windows 用のモジュール
XML 操作
GUI用の拡張モジュール