(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)
Phar::extractTo — Extraer el contenido de un archivo phar a un directorio
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.
Extrae todos los ficheros de un archivo phar al disco. Los ficheros y directorios extraídos conservan los mismos permisos que los almacenados en el archivo. Los parámetros opcionales permiten controlar qué ficheros serán extraídos, y si los ficheros existentes en disco podrán ser sobrescritos. El segundo parámetro files
puede ser el nombre de un fichero o directorio a extraer, o un array de nombre de ficheros y directorios a extraer. Por omisión, este método no sobrescribirá los ficheros existentes, aunque el tercer parámetro se puede establecer a true para habilitar la sobrescritura de ficheros. Este método es similar a ZipArchive::extractTo().
pathto
Ruta dentro de un archivo al fichero a borrar.
files
El nombre de un fichero o directorio a extraer, o un array de ficheros/directorios a extraer.
overwrite
Esteblecer a true
para habilitar la sobrescritura de ficheros existentes
Devuelve true
en caso de éxito, pero es mejor comprobar si lanza alguna excepción, y asumir el éxito si no se lanza ninguna.
Lanza una excepción de tipo PharException si ocurrió algún error al volcar los cambios al disco.
Ejemplo #1 Un ejemplo de Phar::extractTo()
<?php
try {
$phar = new Phar('miphar.phar');
$phar->extractTo('/ruta/completa'); // extraer todos los ficheros
$phar->extractTo('/otra/ruta', 'fichero.txt'); // extraer solamente fichero.txt
$phar->extractTo('/esta/ruta',
array('fichero1.txt', 'fichero2.txt')); // extraer solamente 2 ficheros
$phar->extractTo('/tercera/ruta', null, true); // extraer todos los ficheros y sobrescribirlos
} catch (Exception $e) {
// manejar errores
}
?>