Phar::addFile
ファイルシステム上のファイルを phar アーカイブに追加する
説明
public void Phar::addFile(string $filename
, stringnull $localName
= null
)
注意:
このメソッドは、php.ini の phar.readonly
が 0
でないと Phar
オブジェクトで動作しません。それ以外の場合は
PharException がスローされます。
このメソッドを使用すると、任意のファイルあるいは URL を phar アーカイブに追加することができます。
オプションの 2 番目のパラメータ localName
が文字列の場合、
ファイルはその名前でアーカイブ内に格納されます。指定しなかった場合は、
file
パラメータをアーカイブ内のパスとして使用します。
URL を使用する場合は、localname を指定しないと例外がスローされます。
このメソッドは ZipArchive::addFile と同じようなものです。
パラメータ
-
filename
-
phar アーカイブに追加したいディスク上のファイルへのフルパスあるいは相対パス。
-
localName
-
ファイルをアーカイブ内に格納するときのパス。
戻り値
戻り値はありません。失敗時には例外をスローします。
例
例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::buildFromDirectory や Phar::buildFromIterator を使うべきです。
参考
- Phar::offsetSet
- PharData::addFile
- Phar::addFromString
- Phar::addEmptyDir