« PharData::convertToExecutable
PharData::decompress »

PharData::copy

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

PharData::copy — tar/zip アーカイブ内のファイルを、同じアーカイブ内で別の新しいファイルとしてコピーする

説明

public function PharData::copy(string $from, string $to): true

phar アーカイブ内のファイルを、そのアーカイブ内で別の新しいファイルとしてコピーします。 これは、phar ストリームラッパーでの copy() と同等の操作をオブジェクト指向で行うものです。

パラメータ

from

to

戻り値

常に true を返します。

エラー / 例外

コピー元のファイルが存在しない、コピー先のファイルが既に存在する、 書き込みアクセスが無効になっている、どちらかのファイルのオープンに失敗した、 あるいはコピー元のファイルの読み込みに失敗した場合に UnexpectedValueException をスローします。 変更内容の phar への書き込みに失敗した場合は PharException をスローします。

例

例1 PharData::copy() の例

この例は、PharData::copy() の使用法のほかに それと同等の操作をストリームラッパーで行う方法を示すものです。 これらの方式の最大の違いはエラー処理です。 PharData のすべてのメソッドは例外をスローしますが、ストリームラッパーの場合は trigger_error() を使用します。

<?php

try {
    $phar = new PharData('myphar.tar');

    $phar['a'] = 'hi';
    $phar->copy('a', 'b');

    echo $phar['b']; // 出力は "phar://myphar.tar/b"
} catch (Exception $e) {
    // エラー処理
}

// 上のコードと同等の処理をストリームラッパーで行う例。
// エラー時には例外ではなく E_WARNINGS が発生します
copy('phar://myphar.tar/a', 'phar//myphar.tar/c');
echo file_get_contents('phar://myphar.tar/c'); // 出力は "hi"

?>

関連キーワード:
phar   PharData   アーカイブ   copy   コピー   myphar   ストリーム   ラッパー   操作   書き込み   convertToExecutable   decompress   オブジェクト指向   コピー先   無効   オープン   読み込み   UnexpectedValueException   変更内容   PharException   方法   方式   最大   trigger   catch
関連する関数・ページ:
phar.copy   phardata.delete   phar.using.object   phardata.converttoexecutable   phardata.iswritable   phardata.construct