Phar::compressAllFilesGZ
(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0)
Phar::compressAllFilesGZ — Compresse tous les fichiers de l'archive Phar courante en utilisant la compression Gzip
Description
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.
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
- PharFileInfo::getCompressedSize() - Retourne la taille actuelle (avec compression) du fichier au sein de l'archive Phar
- PharFileInfo::isCompressedBZIP2() - Détermine si l'archive Phar est compressée avec bzip2
- PharFileInfo::isCompressed() - Retourne si l'entrée est compressée
- PharFileInfo::isCompressedGZ() - Détermine si l'archive Phar est compressée avec gzip
- PharFileInfo::setCompressedBZIP2() - Compresse l'entrée Phar courante au sein du phar avec Bzip2
- PharFileInfo::setUncompressed() - Décompresse l'entrée Phar courante au sein du phar s'il y a lieu
- PharFileInfo::setCompressedGZ() - Compresse l'entrée Phar courante au sein du phar avec gzip
- 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::compressAllFilesBZIP2() - Compresse tous les fichiers de l'archive Phar courante en utilisant la compression Bzip2
- Phar::getSupportedCompression() - Retourne un tableau des algorithmes de compression supportés
- Phar::uncompressAllFiles() - Décompresse tous les fichiers de l'archive Phar courante
Version en cache
23/12/2024 00:30:14 Cette version de la page est en cache (à la date du 23/12/2024 00:30:14) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-phar.compressallfilesgz.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.