PharData::addFile

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

PharData::addFileファイルシステム上のファイルを tar/zip アーカイブに追加する

説明

public PharData::addFile(string $filename, ?string $localName = null): void

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

パラメータ

filename

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

localName

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

戻り値

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

変更履歴

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

例1 PharData::addFile() の例

<?php
try {
    
$a = new PharData('/path/to/my.tar');

    
$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) {
    
// ここでエラー処理をします
}
?>

注意

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

参考

  • PharData::offsetSet() - tar/zip の内部のファイルに、外部ファイルあるいは文字列の内容を設定する
  • Phar::addFile() - ファイルシステム上のファイルを phar アーカイブに追加する
  • PharData::addFromString() - ファイルシステム上のファイルを tar/zip アーカイブに追加する
  • PharData::addEmptyDir() - 空のディレクトリを tar/zip アーカイブに追加する

関連キーワード:  アーカイブ, PharData, 追加, tar, addFile, ファイル, addFromString, phar, localName, パラメータ