(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
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.
compression
La compression doit être Phar::GZ
ou Phar::BZ2
.
Cette fonction retourne true
en cas de succès ou false
si une erreur survient.
Soulève une exception BadMethodCallException si la variable INI phar.readonly est à on, ou si l'extension bzip2/zlib n'est pas disponible.
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)