Phar::decompress
(PHP >= 5.3.0, PECL phar >= 2.0.0)
Phar::decompress — Descomprimir un archivo Phar entero
Descripción
$extension
] )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.
Para archivos phar basados en tar y phar, este método descomprime el archivo entero.
Para archivos phar basados en Zip, este método este método falla con el lanzamiento de una excepción. La extensión zlib debe estar habilitada para descomprimir un archivo comprimido con la compresión gzip, y la extensión bzip2 debe estar habilitada para descomprimir un archivo comprimido con la compresión bzip2. Al igual que con toda la funcionalidad que modifica el contenido de un Phar, la variable INI phar.readonly debe estar desactivada para poder realizar esto.
Además, este método cambia automáticamente la extensión del archivo, .phar por omisión para archivos phar, o .phar.tar para archivos phar basados en tar. De forma alternativa, se puede expecificar una extensión de fichero con el segundo parámetro.
Parámetros
-
extension -
Para la descompresión, las extensiones de fichero predeterminadas son .phar y .phar.tar. Use este parámetro para especificar otra extensión de fichero. Observe que todos los archivos phar ejecutables deben contener .phar en su nombre de fichero.
Valores devueltos
Devuelve un objeto de la clase Phar.
Errores/Excepciones
Lanza una excepción de tipo BadMethodCallException si la variable INI phar.readonly está activada, la extensión zlib no está disponible, o la extensión bzip2 no está habilitada.
Ejemplos
Ejemplo #1 Un ejemplo de Phar::decompress()
<?php
$p = new Phar('/ruta/a/mi.phar', 0, 'mi.phar.gz');
$p['mifichero1.txt'] = 'hola';
$p['mifichero12.txt'] = 'hola';
$p3 = $p2->decompress(); // crea /ruta/a/mi.phar
?>
Ver también
- PharFileInfo::getCompressedSize() - Devolver el tamaño real de un fichero (con compresión) dentro de un archivo Phar
- PharFileInfo::isCompressed() - Devolver si la entrada está comprimida
- PharFileInfo::compress() - Comprimir la entrada del Phar actual con la compresión zlib o bzip2
- PharFileInfo::decompress() - Descomprimir la entrada Phar actual dentro del phar
- PharData::compress() - Comprimir el archivo tar/zip entero usando la compresión Gzip o Bzip2
- Phar::canCompress() - Devuelve si la extensión phar soporta la compresión usando zlib o bzip2
- Phar::isCompressed() - Devuelve Phar::GZ oPHAR::BZ2 si el archivo phar entero está comprimido (.tar.gz/tar.bz, etc.)
- Phar::compress() - Comprimir el archivo Phar entero usando la compresión Gzip o Bzip2
- Phar::getSupportedCompression() - Devolver un array de los algoritmos de compresión soportados
- Phar::compressFiles() - Comprime todos los ficheros del archivo Phar actual
- Phar::decompressFiles() - Descomprimir todos los ficheros del archivo Phar actual