Phar::decompressFiles

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

Phar::decompressFilesDescomprimir todos los ficheros del archivo Phar actual

Descripción

public Phar::decompressFiles ( void ) : 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.

Para archivos phar basados en tar, este método lanza una excepción de tipo BadMethodCallException, ya que la compresión de ficheros individuales dentro de un archivo tar no está soportada por el formato de fichero. Use Phar::compress() para comprimir un archivo phar entero basado en tar.

Para achivos phar basados en Zip y phar, este método descomprime todos los ficheros del archivo Phar. Las extensiones zlib o bzip2 deben estar habilitadas para aprovechar esta característica si cualquier fichero está comprimido con la compresión bzip2/zlib. 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.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

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 si cualquier fichero está comprimido con la compresión bzip2 y la extensión bzip2 no está habilitada.

Ejemplos

Ejemplo #1 Un ejemplo de Phar::decompressFiles()

<?php
$p 
= new Phar('/ruta/a/mi.phar'0'mi.phar');
$p['mifichero.txt'] = 'hola';
$p['mifichero2.txt'] = 'hola';
$p->compressFiles(Phar::GZ);
foreach (
$p as $fichero) {
    
var_dump($fichero->getFileName());
    
var_dump($fichero->isCompressed());
    
var_dump($fichero->isCompressed(Phar::BZ2));
    
var_dump($fichero->isCompressed(Phar::GZ));
}
$p->decompressFiles();
foreach (
$p as $fichero) {
    
var_dump($fichero->getFileName());
    
var_dump($fichero->isCompressed());
    
var_dump($fichero->isCompressed(Phar::BZ2));
    
var_dump($fichero->isCompressed(Phar::GZ));
}
?>

El resultado del ejemplo sería:

string(13) "mifichero.txt"
int(4096)
bool(false)
bool(true)
string(14) "mifichero2.txt"
int(4096)
bool(false)
bool(true)
string(13) "mifichero.txt"
bool(false)
bool(false)
bool(false)
string(14) "mifichero2.txt"
bool(false)
bool(false)
bool(false)

Ver también