(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)
Phar::decompress — Descomprime el archivo tar completo
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.
Para los archivos phar basados en tar y en phar, este método descomprime el archivo completo.
Para los archivos phar basados en Zip, este método falla y lanza una excepción. La extensión zlib debe estar activa para descomprimir un archivo comprimido con gzip, y la extensión bzip2 debe estar activa para descomprimir un archivo comprimido con bzip2. Al igual que con todas las funcionalidades que modifican el contenido de un phar, la variable INI phar.readonly debe estar a off para que funcione.
Además, este método cambia automáticamente la extensión del archivo,
.phar
Por omisión para los archivos phar, o .phar.tar
para los archivos phar basados en tar.
De lo contrario, se puede especificar una extensión de archivo utilizando el segundo
argumento.
extension
Para descomprimir, las extensiones de archivo por omisión
son .phar
y .phar.tar
.
Utilice este argumento para especificar otra extensión de archivo.
Cabe señalar que todos los archivos phar ejecutables deben contener .phar
en su nombre de archivo.
Se lanza una excepción BadMethodCallException si la variable INI phar.readonly está a on, si la extensión zlib no está disponible, o si la extensión bzip2 no está activada.
Versión | Descripción |
---|---|
8.0.0 |
extension ahora es nullable.
|
Ejemplo #1 Un ejemplo con Phar::decompress()
<?php
$p = new Phar('/ruta/al/mon.phar', 0, 'mon.phar.gz');
$p['monfichero.txt'] = 'hola';
$p['monfichero.txt'] = 'hola';
$p3 = $p2->decompress(); // crea /ruta/al/mon.phar
?>