(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)
PharData::decompressFiles — Descomprime 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 los archivos basados en tar, este método levanta 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 PharData::compress() para comprimir un archivo completo basado en tar.
Para los archivos basados en Zip, este método descomprime todos los ficheros del archivo. Las extensiones zlib o bzip2 deben estar activadas para aprovechar esta funcionalidad si al menos uno de los ficheros está comprimido con bzip2/zlib.
Esta función no tiene parámetros.
Siempre devuelve true
.
Levanta una excepción BadMethodCallException si la extensión zlib no está disponible o si al menos uno de los ficheros está comprimido con bzip2 y la extensión bzip2 no está activada.
Ejemplo #1 Un ejemplo con PharData::decompressFiles()
<?php
$p = new PharData('/ruta/hacia/mion.zip');
$p['mifichero.txt'] = 'hola';
$p['mifichero2.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(14) "mifichero.txt" int(4096) bool(false) bool(true) string(15) "mifichero2.txt" int(4096) bool(false) bool(true) string(14) "mifichero.txt" bool(false) bool(false) bool(false) string(15) "mifichero2.txt" bool(false) bool(false) bool(false)