# Phar::offsetSet

(PECL phar:1.0.0-1.2.1)

Phar::offsetSet — set the contents of an internal file to those of an external file

### Description

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

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.

### Parameters

`offset`

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

`value`

  Content of the file.

### Return Values

No return values.

### Errors/Exceptions

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.

### Examples

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.txt'] = 'Hi there';
} catch (Exception $e) {
echo 'Could not modify file.txt:', $e;
}
?>`

### See Also

- Phar::offsetExists()
- Phar::offsetGet()
- Phar::offsetUnset()