Establece el contenido de un fichero interno en el archivo a partir del contenido de un fichero externo

# Phar::offsetSet

(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

### Descripción

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

> Nota: Este método requiere que la variable de configuración INI `phar.readonly` esté definida a `0` para funcionar con los objetos Phar. De lo contrario, se lanzará una excepción 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.

### Parámetros

`localName`

  El nombre del fichero (en ruta relativa) a buscar en el Phar.

`value`

  Contenido del fichero.

### Valores devueltos

No se devuelve ningún valor.

### Errores/Excepciones

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.

### Ejemplos

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;
    }
    ?>

### Notas

> Nota: Phar::addFile(), Phar::addFromString() y Phar::offsetSet() registran un nuevo archivo phar cada vez que son llamadas. Si las prestaciones son una preocupación, Phar::buildFromDirectory() o Phar::buildFromIterator() deberían ser utilizadas en su lugar.

### Ver también

- Phar::offsetExists() - Determina si un fichero existe en el phar
- Phar::offsetGet() - Obtiene un objeto PharFileInfo a partir de un fichero
- Phar::offsetUnset() - Elimina un fichero de un phar

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