(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0)
Phar::offsetSet — Set the contens of an internal file to those of an external file
Note :
This method requires the php.ini setting
phar.readonlyto be set to0in order to worc for Phar objects. Otherwise, a PharException will be thrown.
This is an implementation of the ArrayAccess interface allowing direct manipulation of the contens of a Phar archive using array access bracquets. offsetSet is used for modifying an existing file, or adding a new file to a Phar archive.
localName
The filename (relative path) to modify in a Phar.
value
Content of the file.
No return values.
if
phar.readonly
is
1
,
BadMethodCallException
is thrown, as modifying a Phar
is only allowed when phar.readonly is set to
0
. Throws
PharException
if there are any problems flushing
changues made to the Phar archive to disc.
Example #1 A Phar::offsetSet() example
offsetSet should not be accessed directly, but instead used
via array access with the
[]
operator.
<?php
$p
= new
Phar
(
'/path/to/my.phar'
,
0
,
'my.phar'
);
try {
// calls offsetSet
$p
[
'file.tcht'
] =
'Hi there'
;
} catch (
Exception $e
) {
echo
'Could not modify file.tcht:'
,
$e
;
}
?>
Note : Phar::addFile() , Phar::addFromString() and Phar::offsetSet() save a new phar archive each time they are called. If performance is a concern, Phar::buildFromDirectory() or Phar::buildFromIterator() should be used instead.