Copia un fichero perteneciente a un archivo hacia otro fichero del mismo archivo

# Phar::copy

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

Phar::copy — Copia un fichero perteneciente a un archivo hacia otro fichero del mismo archivo

### Descripción

public function Phar::copy(string `$from`, string `$to`): true

> 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.

Copia un fichero perteneciente a un archivo hacia un nuevo fichero del mismo archivo. Es una alternativa orientada a objetos al uso de copy() con un flujo phar.

### Parámetros

`from`

`to`

### Valores devueltos

Retorna siempre `true`.

### Errores/Excepciones

Levanta una excepción UnexpectedValueException si el fichero origen no existe, si el fichero destino ya existe, si el acceso en escritura está desactivado, si abrir uno u otro de los ficheros falla, si la lectura del fichero origen falla, o levanta una excepción PharException si la escritura de los cambios en el phar falla.

### Ejemplos

Ejemplo #1 Ejemplo con Phar::copy()

Este ejemplo muestra cómo utilizar Phar::copy() y la comparación en términos de rendimiento con el equivalente utilizando el flujo phar. La diferencia principal entre los dos métodos concierne la gestión de errores. Todos los métodos Phar levantan excepciones, mientras que las funciones de flujo utilizan trigger_error().

    <?php

    try {
        $phar = new Phar('monphar.phar');

        $phar['a'] = 'salut';
        $phar->copy('a', 'b');

        echo $phar['b']; // Muestra "phar://myphar.phar/b"
    } catch (Exception $e) {
        // Maneja los errores
    }

    // El equivalente en términos de flujo del código anterior
    // se devuelven E_WARNING en lugar de excepciones
    copy('phar://monphar.phar/a', 'phar//monphar.phar/c');
    echo file_get_contents('phar://monphar.phar/c'); // Muestra "salut"

    ?>

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