(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)
PharData::offsetSet — tar/zip の内部のファイルに、外部ファイルあるいは文字列の内容を設定する
$localName
, resource|string $value
): voidこれは ArrayAccess インターフェイスを実装したものです。 これにより、tar/zip アーカイブの内容に対して配列形式の角括弧を使用したアクセスが可能となります。 offsetSet を使用して、tar/zip アーカイブの既存ファイルの変更や 新しいファイルの追加を行います。
localName
tar あるいは zip アーカイブ内で変更するファイル名 (相対パス)。
value
ファイルの内容。
値を返しません。
Phar アーカイブへの変更をディスクに書き込む際に何らかのエラーが発生すると PharException がスローされます。
例1 PharData::offsetSet() の例
offsetSet は直接使用してはいけません。
配列に []
演算子でアクセスする際に使用されます。
<?php
$p = new PharData('/path/to/my.tar');
try {
// offsetSet がコールされます
$p['file.txt'] = 'Hi there';
} catch (Exception $e) {
echo 'file.txt を変更できません: ', $e;
}
?>
注意: PharData::addFile(), PharData::addFromString(), PharData::offsetSet() は、呼び出されるたびに新しいPharアーカイブを生成します。パフォーマンスを気にするなら、代わりに PharData::buildFromDirectory() や PharData::buildFromIterator() を使うべきです。