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