Phar::offsetSet
(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
Beschreibung
$localName
, resource|string $value
): voidHinweis:
Diese Methode des Phar-Objekts funktioniert nur wenn die php.ini-Einstellung
phar.readonly
auf 0 gesetzt ist, sonst wird eine PharException geworfen.
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.
Parameter-Liste
-
localName
-
The filename (relative path) to modify in a Phar.
-
value
-
Content of the file.
Rückgabewerte
No return values.
Fehler/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.
Beispiele
Beispiel #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;
}
?>
Anmerkungen
Hinweis: Die Funktionen Phar::addFile(), Phar::addFromString() und Phar::offsetSet() speichern bei jedem Aufruf ein neues phar-Archiv. Wenn die Leistung ein wichtiger Faktor ist, sollte stattdessen Phar::buildFromDirectory() oder Phar::buildFromIterator() verwendet werden.
Siehe auch
- Phar::offsetExists() - Determines whether a file exists in the phar
- Phar::offsetGet() - Gets a PharFileInfo object for a specific file
- Phar::offsetUnset() - Remove a file from a phar