(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::offsetSetset the contents of an internal file to those of an external file


public void Phar::offsetSet ( string $offset , string $value )


This method requires the php.ini setting phar.readonly to be set to 0 in order to work for Phar objects. Otherwise, a PharException will be thrown.

This is an implementation of the ArrayAccess interface allowing direct manipulation of the contents of a Phar archive using array access brackets. offsetSet is used for modifying an existing file, or adding a new file to a Phar archive.



The filename (relative path) to modify in a Phar.


Content of the file.

Return Values

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 changes made to the Phar archive to disk.


Example #1 A Phar::offsetSet() example

offsetSet should not be accessed directly, but instead used via array access with the [] operator.

= new Phar('/path/to/my.phar'0'my.phar');
try {
// calls offsetSet
$p['file.txt'] = 'Hi there';
} catch (
Exception $e) {
'Could not modify file.txt:'$e;

See Also

add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top