# PharFileInfo::compress

(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

### 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

- PharFileInfo::getCompressedSize() - Devolver el tamaño real de un fichero (con compresión) dentro de un archivo Phar
- PharFileInfo::isCompressed() - Devolver si la entrada está comprimida
- PharFileInfo::decompress() - Descomprimir la entrada Phar actual dentro del phar
- Phar::canCompress() - Devuelve si la extensión phar soporta la compresión usando zlib o bzip2
- Phar::isCompressed() - Devuelve Phar::GZ oPHAR::BZ2 si el archivo phar entero está comprimido (.tar.gz/tar.bz, etc.)
- Phar::compressFiles() - Comprime todos los ficheros del archivo Phar actual
- Phar::decompressFiles() - Descomprimir todos los ficheros del archivo Phar actual
- Phar::compress() - Comprimir el archivo Phar entero usando la compresión Gzip o Bzip2
- Phar::decompress() - Descomprimir un archivo Phar entero
- Phar::getSupportedCompression() - Devolver un array de los algoritmos de compresión soportados