Copia un fichero interno del archivo tar/zip a otro fichero dentro del mismo archivo

# PharData::copy

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

PharData::copy — Copia un fichero interno del archivo tar/zip a otro fichero dentro del mismo archivo

### Descripción

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

Copia un fichero interno del archivo tar/zip a otro fichero dentro del mismo archivo. Es una alternativa orientada a objetos al uso de copy() con el gestor de flujos phar.

### Parámetros

`from`

`to`

### Valores devueltos

Retorna siempre `true`.

### Errores/Excepciones

Se lanza una excepción UnexpectedValueException si el fichero de origen no existe, si el fichero de destino ya existe, si el soporte de escritura está desactivado, si falla la apertura de alguno de los dos ficheros o si falla la lectura del fichero de origen; o se lanza una excepción PharException si falla la escritura de los cambios del archivo phar.

### Ejemplos

Ejemplo #1 Un ejemplo con PharData::copy()

Este ejemplo muestra el uso de PharData::copy() y su equivalente en términos de gestor de flujos. La principal diferencia entre ambos enfoques radica en la gestión de errores. Todos los métodos PharData lanzan excepciones, mientras que el gestor de flujos utiliza trigger_error().

    <?php

    try {
        $phar = new PharData('monphar.tar');
        $phar['a'] = 'salut';
        $phar->copy('a', 'b');
        echo $phar['b']; // Muestra "phar://myphar.tar/b"
    } catch (Exception $e) {
        // Se manejan los errores
    }

    // El equivalente en términos de flujo del ejemplo anterior.
    // Se lanzan E_WARNING en caso de error en lugar de excepciones.
    copy('phar://monphar.tar/a', 'phar//monphar.tar/c');
    echo file_get_contents('phar://monphar.tar/c'); // Muestra "salut"
    ?>

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