Phar::offsetSet
(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0)
Phar::offsetSet — Изменение содержимого файла
Описание
$offset
, string $value
) : voidЗамечание:
Для корректной работы с объектами Phar этому методу необходима установка значения php.ini
phar.readonly
в0
. В противном случае, будет выброшено исключение PharException.
Это реализация интерфейса ArrayAccess, позволяющаа манипулировать содержимым Phar-архива в стиле доступа к элементам массива. offsetSet используется для изменения контента существующего файла, либо для создания нового.
Список параметров
-
offset
-
Имя файла (относительный путь).
-
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-архива