(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
Nota:
Este método requer que a configuração
phar.readonly
do php.ini seja definida como0
para funcionar com objetos Phar. Caso contrário, uma exceção PharException será lançada.
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() e Phar::offsetSet() salvam um novo arquivo phar cada vez que são chamadas. Se o desempenho for uma preocupação, Phar::buildFromDirectory() ou Phar::buildFromIterator() devem ser usadas.