PHP8 Phar::offsetSet
(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0)
Phar::offsetSet — 将内部文件的内容设置为外部文件的内容
说明
public Phar::offsetSet(string $localName, resource|string $value): void
注意:此方法需要 将 中的 设为 以适合 Phar 对象. 否则, 将抛出PharException.php.iniphar.readonly0
这是 ArrayAccess 接口的实现,允许 直接操作 Phar 存档的内容 阵列访问括号。offsetSet 用于修改 现有文件,或将新文件添加到 Phar 存档。
参数
localName
要在 Phar 中修改的文件名(相对路径)。
value
文件的内容。
返回值
无返回值。
错误/异常
如果 phar.readonly 为 ,则抛出 BadMethodCallException,因为修改 Phar 仅当 phar.readonly 设置为 时才允许。如果刷新出现任何问题,则引发 PharException 对 Phar 存档到磁盘所做的更改。10
示例
示例 #1 A Phar::offsetSet() example
不应直接访问 offsetSet,而应使用 通过与操作员的阵列访问。[]
<?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;
}
?>
注释
注意: Phar::addFile(), Phar:: addFromString() 和 Phar::offsetSet() 每次调用它们时都会保存一个新的 phar 存档。如果性能是一个问题,则应改用 Phar::buildFromDirectory() 或 Phar::buildFromIterator()。
参见
- Phar::offsetExists() - 确定 phar 中是否存在文件
- Phar::offsetGet() - 获取特定文件的 PharFileInfo 对象
- Phar::offsetUnset() - 从 phar 中删除文件