(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0)
Phar::compressAllFilesGZ — Comprimir todos los ficheros del archivo Phar actual usando la compresión Gzip
Nota:
Este método ha sido eliminado de la extensión Phar a partir de la versión 2.0.0. Implementaciones alternativas están disponibles utilizando Phar::compress(), Phar::decompress(), Phar::compressFiles() y Phar::decompressFiles().
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 comprime el archivo entero usando la compresión gzip. El fichero resultante se puede procesar con el comando gunzip, o se puede acceder a él directa y transparentemente con al extensión Phar.
Para archivos phar basados en Zip, este método comprime todos los ficheros del archivo Phar usando la compresión gzip. La extensión zlib debe estar habilitada para aprovechar esta característica. Además, si cualqiuer fichero ya está comprimido con la compresión bzip2, la extensión bzip2 debe estar habilitada para poder descomprimir los ficheros antes de re-comprimirlos con la compresión gzip. 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.
Devuelve TRUE
en caso de éxito o FALSE
en caso de error.
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 usando la compresión bzip2 y la extensión bzip2 no está habilitada.
Ejemplo #1 Un ejemplo de Phar::compressAllFilesGZ()
<?php
$p = new Phar('/ruta/a/mi.phar', 0, 'mi.phar');
$p['mifichero.txt'] = 'hola';
$p['mifichero2.txt'] = 'hola';
foreach ($p as $fichero) {
var_dump($fichero->getFileName());
var_dump($fichero->isCompressed());
var_dump($fichero->isCompressedBZIP2());
var_dump($fichero->isCompressedGZ());
}
$p->compressAllFilesGZ();
foreach ($p as $fichero) {
var_dump($fichero->getFileName());
var_dump($fichero->isCompressed());
var_dump($fichero->isCompressedBZIP2());
var_dump($fichero->isCompressedGZ());
}
?>
El resultado del ejemplo sería:
string(13) "mifichero.txt" bool(false) bool(false) bool(false) string(14) "mifichero2.txt" bool(false) bool(false) bool(false) string(13) "mifichero.txt" bool(true) bool(false) bool(true) string(14) "mifichero2.txt" bool(true) bool(false) bool(true)