(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)
PharData::addFile — ファイルシステム上のファイルを tar/zip アーカイブに追加する
$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() を使うべきです。