Phar::addFile

ファイルシステム上のファイルを phar アーカイブに追加する

説明

public void Phar::addFile(string $filename, stringnull $localName = null)

注意:

このメソッドは、php.iniphar.readonly0 でないと Phar オブジェクトで動作しません。それ以外の場合は PharException がスローされます。

このメソッドを使用すると、任意のファイルあるいは URL を phar アーカイブに追加することができます。 オプションの 2 番目のパラメータ localName が文字列の場合、 ファイルはその名前でアーカイブ内に格納されます。指定しなかった場合は、 file パラメータをアーカイブ内のパスとして使用します。 URL を使用する場合は、localname を指定しないと例外がスローされます。 このメソッドは ZipArchive::addFile と同じようなものです。

パラメータ

filename

phar アーカイブに追加したいディスク上のファイルへのフルパスあるいは相対パス。

localName

ファイルをアーカイブ内に格納するときのパス。

戻り値

戻り値はありません。失敗時には例外をスローします。

変更履歴

バージョン 説明
8.0.0 localName は、nullable になりました。

例1 Phar::addFile の例

<?php
try {
    $a = new Phar('/path/to/phar.phar');

    $a->addFile('/full/path/to/file');
    // 格納したファイルを確認します
    $b = $a['full/path/to/file']->getContent();

    $a->addFile('/full/path/to/file', 'my/file.txt');
    $c = $a['my/file.txt']->getContent();

    // URL の使用例
    $a->addFile('http://www.example.com', 'example.html');
} catch (Exception $e) {
    // ここでエラー処理をします
}
?>

注意

注意: Phar::addFile, Phar::addFromString, Phar::offsetSet は、呼び出されるたびに新しいPharアーカイブを生成します。パフォーマンスを気にするなら、代わりに Phar::buildFromDirectoryPhar::buildFromIterator を使うべきです。

参考

  • Phar::offsetSet
  • PharData::addFile
  • Phar::addFromString
  • Phar::addEmptyDir