PHP Conference Japan 2024

Phar::offsetSet

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0)

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

Beschreibung

public Phar::offsetSet(string $localName, resource|string $value): void

Hinweis:

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

add a note

User Contributed Notes

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