Изменение содержимого файла

# Phar::offsetSet

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

Phar::offsetSet — Изменение содержимого файла

### Описание

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

> Замечание: Для корректной работы метода с объектами Phar потребуется установить для директивы `phar.readonly` в файле php.ini значение `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().

### Смотрите также

- Phar::offsetExists() - Определить, есть ли файл в архиве
- Phar::offsetGet() - Получить объект PharFileInfo для конкретного файла
- Phar::offsetUnset() - Удалить файл из phar-архива

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open