(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)
PharData::decompressFiles — Descomprimir todos los ficheros del archivo zip 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 archivos 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. Las extensiones zlib o bzip2 deben estar habilitadas para aprvechar esta característica si cualquier fichero está comprimido con la compresión bzip2/zlib.
Lanza una excepción de tipo BadMethodCallException si 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. Throws BadMethodCallException if the zlib extension is not available, or if any files are compressed using bzip2 compression and the bzip2 extension is not enabled.
Ejemplo #1 Un ejemplo de PharData::decompressFiles()
<?php
$p = new PharData('/ruta/a/mi.zip');
$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)