(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)
Phar::decompressFiles — Descomprime todos los ficheros del archivo Phar actual
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, este método lanza una excepción BadMethodCallException, ya que la compresión individual de los ficheros dentro de un archivo tar no es soportada por el formato de archivo. Utilice Phar::compress() para comprimir en un archivo phar basado en tar en su totalidad.
Para los archivos phar basados en Zip o en phar, este método descomprime todos los ficheros del archivo Phar. Las extensiones zlib o bzip2 deben estar activadas para aprovechar esta funcionalidad si alguno de los ficheros está comprimido utilizando la compresión bzip2/zlib. 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.
Esta función no tiene parámetros.
Siempre devuelve true
.
Lanza una excepción BadMethodCallException si la variable INI phar.readonly está a on, si la extensión zlib no está disponible o si alguno de los ficheros está comprimido utilizando la compresión bzip2 y la extensión bzip2 no está activada.
Ejemplo #1 Un ejemplo con Phar::decompressFiles()
<?php
$p = new Phar('/ruta/hacia/mon.phar', 0, 'mon.phar');
$p['monfichier.txt'] = 'hola';
$p['monfichier2.txt'] = 'hola';
$p->compressFiles(Phar::GZ);
foreach ($p as $file) {
var_dump($file->getFileName());
var_dump($file->isCompressed());
var_dump($file->isCompressed(Phar::BZ2));
var_dump($file->isCompressed(Phar::GZ));
}
$p->decompressFiles();
foreach ($p as $file) {
var_dump($file->getFileName());
var_dump($file->isCompressed());
var_dump($file->isCompressed(Phar::BZ2));
var_dump($file->isCompressed(Phar::GZ));
}
?>
El resultado del ejemplo sería:
string(10) "monfichier.txt" int(4096) bool(false) bool(true) string(11) "monfichier2.txt" int(4096) bool(false) bool(true) string(10) "monfichier.txt" bool(false) bool(false) bool(false) string(11) "monfichier2.txt" bool(false) bool(false) bool(false)