Phar::compressAllFilesGZ

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::compressAllFilesGZCompresse tous les fichiers de l'archive Phar courante en utilisant la compression Gzip

Description

public bool Phar::compressAllFilesGZ ( void )

Note:

Cette méthode a été supprimée de l'extension phar depuis la version 2.0.0. Vous pouvez utiliser Phar::compress(), Phar::decompress(), Phar::compressFiles() et Phar::decompressFiles() à la place.

Note:

Cette méthode nécessite que la variable de configuration INI phar.readonly soit définie à 0 pour fonctionner avec les objets Phar. Sinon, une exception PharException sera lançée.

Pour les archives phar basées sur tar, cette méthode compresse l'archive complète en utilisant la compression gzip. Le fichier qui en résulte peut être traité avec la commande gunzip, ou accédée directement et de façon transparente avec l'extension Phar.

Pour les archives phar basées sur Zip, cette méthode compresse tous les fichiers de l'archive Phar en utilisant la compression gzip. L'extension zlib doit être activée pour pouvoir bénéficier de cette fonctionnalité. De plus, si un ou des fichiers ont déjà été compressés en utilisant la compression bzip2, l'extension bzip2 doit être activée pour pouvoir décompresser les fichiers et les re-compresser avec l'algorithme gzip. Comme avec toutes les fonctionnalités qui modifient le contenu d'un phar, la variable INI phar.readonly doit être à off pour fonctionner.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Erreurs / Exceptions

Lève une exception BadMethodCallException si la variable INI phar.readonly est à on, si l'extension zlib n'est pas disponible, ou si un ou des fichiers ont déjà été compressés avec l'algorithme bzip2 et que l'extension bzip2 n'est pas activée.

Exemples

Exemple #1 Un exemple avec Phar::compressAllFilesGZ()

<?php
$p = new Phar('/chemin/vers/mon.phar', 0, 'mon.phar');
$p['monfichier.txt'] = 'salut';
$p['monfichier2.txt'] = 'salut';
foreach ($p as $file) {
	var_dump($file->getFileName());
	var_dump($file->isCompressed());
	var_dump($file->isCompressedBZIP2());
	var_dump($file->isCompressedGZ());
}
$p->compressAllFilesGZ();
foreach ($p as $file) {
	var_dump($file->getFileName());
	var_dump($file->isCompressed());
	var_dump($file->isCompressedBZIP2());
	var_dump($file->isCompressedGZ());
}
?>

L'exemple ci-dessus va afficher :

string(10) "monfichier.txt"
bool(false)
bool(false)
bool(false)
string(11) "monfichier2.txt"
bool(false)
bool(false)
bool(false)
string(10) "monfichier.txt"
bool(true)
bool(false)
bool(true)
string(11) "monfichier22.txt"
bool(true)
bool(false)
bool(true)

Voir aussi

LoadingChargement en cours