Phar::offsetUnset
(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0)
Phar::offsetUnset — ファイルを phar から削除する
説明
public Phar::offsetUnset
( string $offset
) : bool
注意:
このメソッドは、
php.ini
のphar.readonly
が0
でないと Phar オブジェクトで動作しません。それ以外の場合は PharException がスローされます。
これは ArrayAccess インターフェイスを実装したものです。 これにより、Phar アーカイブの内容に対して配列形式の角括弧を使用したアクセスが可能となります。 offsetUnset を使用して、既存のファイルを削除します。また unset() が使用された場合にもコールされます。
パラメータ
offset
- Phar 内で変更するファイル名 (相対パス)。
返り値
成功した場合に true
を、失敗した場合に false
を返します。
エラー / 例外
phar.readonly に 1
の場合は
BadMethodCallException がスローされます。
Phar の変更ができるのは phar.readonly が 0
のときだけだからです。Phar アーカイブへの変更をディスクに書き込む際に何らかのエラーが発生すると
PharException をスローします。
例
例1 Phar::offsetUnset() の例
<?php$p = new Phar('/path/to/my.phar', 0, 'my.phar');try { // offsetUnset がコールされ、file.txt が my.phar から削除されます unset($p['file.txt']);} catch (Exception $e) { echo 'file.txt を削除できません: ', $e;}?>
参考
- Phar::offsetExists() - ファイルが phar 内に存在するかどうかを調べる
- Phar::offsetGet() - 指定したファイルの PharFileInfo オブジェクトを取得する
- Phar::offsetSet() - 内部ファイルに、外部ファイルの内容を設定する
- Phar::unlinkArchive() - phar アーカイブをディスクとメモリから完全に削除する
- Phar::delete() - phar アーカイブ内のファイルを削除する