(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0)
Phar::offsetSet — Establece el contenido de un fichero interno en el archivo a partir del contenido de un fichero externo
Nota:
Este método requiere que la opción de php.ini
phar.readonly
esté establecida a0
para que trabaje con objetos Phar. De otra manera, se lanzará una excepción de tipo PharException.
Es una implementación de la interfaz ArrayAccess que permite la manipulación directa del contenido de un archivo Phar utilizando los corchetes de acceso al array. offsetSet se utiliza para modificar un fichero existente o para añadir un nuevo fichero al archivo Phar.
localName
El nombre del fichero (en ruta relativa) a buscar en el Phar.
value
Contenido del fichero.
No se devuelve ningún valor.
Si phar.readonly está a 1
,
se lanza una excepción BadMethodCallException, ya que modificar un Phar solo es
permitido cuando phar.readonly está a 0
. Se lanza una excepción
PharException si ha habido un problema al escribir los cambios del archivo Phar en el disco.
Ejemplo #1 Un ejemplo con Phar::offsetSet()
offsetSet no debe ser accedido directamente, sino a través del operador de acceso al array, []
.
<?php
$p = new Phar('/ruta/al/mon.phar', 0, 'mon.phar');
try {
// llama a offsetSet
$p['fichero.txt'] = 'Hola';
} catch (Exception $e) {
echo 'No puede modificar fichero.txt:', $e;
}
?>
Nota: Phar::addFile(), Phar::addFromString() and Phar::offsetSet() save a new phar archive each time they are called. If performance is a concern, Phar::buildFromDirectory() or Phar::buildFromIterator() should be used instead.