PharFileInfo::compress

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)

PharFileInfo::compressComprimir la entrada del Phar actual con la compresión zlib o bzip2

Descripción

public PharFileInfo::compress ( int $compression ) : bool

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.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Errores/Excepciones

Lanza una excepción de tipo BadMethodCallException si la variable INI phar.readonly está activada, la extensión bzip2/zlib no está disponible.

Ejemplos

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)

Ver también