(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0)
Phar::offsetSet — Set the contents of an internal file to those of an external file
$localName
, resource|string $value
): voidNota:
Esta função requer a configuração do arquivo php.ini
phar.readonly
ser definida como0
para funcionar os objetos Phar. Caso contrário, uma PharException será disparada.
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.
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
changes made to the Phar archive to disk.
Exemplo #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;
}
?>
Nota: 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.