(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)
PharFileInfo::compress — Comprimir la entrada del Phar actual con la compresión zlib o bzip2
Este método comprime el fichero dentro de un archivo Phar usando la compresión bzip2 o zlib. Las extensiones bzip2 o zlib deben estar habilitadas para aprovechar esta característica. Además, si el fichero ya está comprimido, la extensión respectiva debe estar habilitada para poder descomprimir el fichero. 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 si el fichero está dentro de un archivo Phar. Los ficheros dentro de archivos PharData no tienen esta restricción.
Lanza una excepción de tipo BadMethodCallException si la variable INI phar.readonly está activada, la extensión bzip2/zlib no está disponible.
Ejemplo #1 Un ejemplo de PharFileInfo::compress()
<?php
try {
$p = new Phar('/ruta/a/mi.phar', 0, 'mi.phar');
$p['mifichero.txt'] = 'hola';
$fichero = $p['mifichero.txt'];
var_dump($fichero->isCompressed(Phar::BZ2));
$p['mifichero.txt']->compress(Phar::BZ2);
var_dump($fichero->isCompressed(Phar::BZ2));
} catch (Exception $e) {
echo 'Falló la operación de crear/modificar mi.phar: ', $e;
}
?>
El resultado del ejemplo sería:
bool(false) bool(true)