# PharFileInfo::compress

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

PharFileInfo::compress — Compresse l'entrée Phar courante avec une des compressions zlib ou bzip2

### Description

public PharFileInfo::compress(int `$compression`): true

Cette méthode compresse le fichier au sein de l'archive Phar en utilisant l'une des compressions bzip2 ou zlib. Les extensions bzip2 ou zlib doivent être activées pour tirer parti de cette fonctionnalité. De plus, si le fichier est déjà compressé, l'extension adéquate doit être activée pour le décompresser. Comme avec toutes les fonctionnalités qui modifient le contenu d'un phar, la variable INI phar.readonly doit être à off pour réussir si le fichier est au sein d'une archive Phar. Les fichiers au sein d'archives PharData n'ont pas cette restriction.

### Liste de paramètres

`compression`

  La compression doit être `Phar::GZ` ou `Phar::BZ2`.

### Valeurs de retour

Retourne toujours `true`.

### Erreurs / Exceptions

Soulève une exception BadMethodCallException si la variable INI phar.readonly est à on, ou si l'extension bzip2/zlib n'est pas disponible.

### Exemples

Exemple #1 Un exemple avec PharFileInfo::compress()

`<?php
try {
$p = new Phar('/chemin/vers/mon.phar', 0, 'mon.phar');
$p['monfichier.txt'] = 'salut';
$file = $p['monfichier.txt'];
var_dump($file->isCompressed(Phar::BZ2));
$p['monfichier.txt']->compress(Phar::BZ2);
var_dump($file->isCompressed(Phar::BZ2));
} catch (Exception $e) {
echo 'Ne peut pas créer/modifier mon.phar : ', $e;
}
?>`

L'exemple ci-dessus va afficher :

    bool(false)
    bool(true)

### Voir aussi

- PharFileInfo::getCompressedSize() - Retourne la taille actuelle (avec compression) du fichier au sein de l'archive Phar
- PharFileInfo::isCompressed() - Retourne si l'entrée est compressée
- PharFileInfo::decompress() - Décompresse l'entrée Phar courante au sein du phar
- Phar::canCompress() - Détermine si l'extension phar supporte une la compression en utilisant soit zip soit bzip2
- Phar::isCompressed() - Retourne Phar::GZ ou PHAR::BZ2 si l'archive entière est compressée (.tar.gz/tar.bz, etc)
- Phar::compressFiles() - Compresse tous les fichiers de l'archive Phar courante'
- Phar::decompressFiles() - Décompresse tous les fichiers de l'archive Phar courante
- Phar::compress() - Compresse l'archive Phar complète en utilisant la compression Gzip ou Bzip2
- Phar::decompress() - Décompresse l'archive tar complète
- Phar::getSupportedCompression() - Retourne un tableau des algorithmes de compression supportés