On the command line (*nix) you can use the following command to extract a phar file:
$ mkdir tmp && cd $_
$ phar extract -f ../file.phar
(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
}
?>
On the command line (*nix) you can use the following command to extract a phar file:
$ mkdir tmp && cd $_
$ phar extract -f ../file.phar