(PHP >= 5.3.0, PECL phar >= 2.0.0)
PharData::extractTo — Extraer el contenido de un archivo tar/zip a un directorio
$pathto
[, string|array $files
[, bool $overwrite
= false
]] )Extrae todos los ficheros de un archivo tar/zip 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 PharData::extractTo()
<?php
try {
$phar = new PharData('miphar.tar');
$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
}
?>