Phar::extractTo

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

Phar::extractToExtraer el contenido de un archivo phar a un directorio

Descripción

public Phar::extractTo ( string $pathto [, string|array $files [, bool $overwrite = false ]] ) : bool

Nota:

Este método requiere que la opción de php.ini phar.readonly esté establecida a 0 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().

Parámetros

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

Valores devueltos

Devuelve TRUE en caso de éxito, pero es mejor comprobar si lanza alguna excepción, y asumir el éxito si no se lanza ninguna.

Errores/Excepciones

Lanza una excepción de tipo PharException si ocurrió algún error al volcar los cambios al disco.

Ejemplos

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'nulltrue); // extraer todos los ficheros y sobrescribirlos
} catch (Exception $e) {
    
// manejar errores
}
?>

Ver también