(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0)
Phar::offsetSet — Изменение содержимого файла
Замечание:
Для корректной работы с объектами Phar этому методу необходима установка значения php.ini
phar.readonly
в0
. В противном случае, будет выброшено исключение PharException.
Это реализация интерфейса ArrayAccess, позволяющая манипулировать содержимым Phar-архива в стиле доступа к элементам массива. offsetSet используется для изменения контента существующего файла, либо для создания нового.
localName
Имя файла (относительный путь).
value
Содержимое файла.
Ничего не возвращает.
Если опция phar.readonly установлен в
1
, то будет выброшено исключение
BadMethodCallException, так как модифицировать Phar-архив
можно только, если phar.readonly равен 0
. Если возникнут
какие либо проблемы с записью на диск - выбрасывается исключение
PharException.
Пример #1 Пример использования Phar::offsetSet()
offsetSet не нужно вызывать напрямую. Используйте синтаксис []
.
<?php
$p = new Phar('/path/to/my.phar', 0, 'my.phar');
try {
// вызов offsetSet
$p['file.txt'] = 'Hi there';
} catch (Exception $e) {
echo 'Не могу изменить file.txt:', $e;
}
?>
Замечание: Phar::addFile(), Phar::addFromString() и Phar::offsetSet() сохраняет новый phar-архив каждый раз при их вызове. Если производительность вызывает беспокойство, вместо этого следует использовать Phar::buildFromDirectory() или Phar::buildFromIterator().