(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
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.
from
to
Siempre devuelve true
.
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.
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"
?>