(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)
PharData::compressFiles — Compresse tous les fichiers de l'archive tar/zip courante
Description
public
PharData::compressFiles(int
$compression
): void
Pour les archives basées sur Zip, cette méthode compresse tous les fichiers de l'archive
en utilisant la compression spécifiée.
Les extensions zlib ou bzip2
doivent être activées pour tirer parti de cette fonctionnalité. De plus, si au moins un fichier
est déjà compressé en utilisant la compression bzip2/zlib, l'extension adéquate être activée
pour décompresser les fichiers avant de les re-compresser.
Liste de paramètres
-
compression
-
La compression doit être Phar::GZ
ou
Phar::BZ2
pour appliquer une compression, ou Phar::NONE
pour l'enlever.
Valeurs de retour
Aucune valeur n'est retournée.
Erreurs / Exceptions
Soulève une exception BadMethodCallException si la variable
INI phar.readonly est à on, si l'extension
zlib n'est pas disponible ou si au moins un fichier est
compressé via bzip2 et que l'extension bzip2 n'est pas
activée.
Exemples
Exemple #1 Un exemple avec PharData::compressFiles()
<?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->isCompressed(Phar::BZ2));
var_dump($file->isCompressed(Phar::GZ));
}
$p->compressFiles(Phar::GZ);
foreach ($p as $file) {
var_dump($file->getFileName());
var_dump($file->isCompressed());
var_dump($file->isCompressed(Phar::BZ2));
var_dump($file->isCompressed(Phar::GZ));
}
?>
L'exemple ci-dessus va afficher :
string(14) "monfichier.txt"
bool(false)
bool(false)
bool(false)
string(15) "monfichier2.txt"
bool(false)
bool(false)
bool(false)
string(14) "monfichier.txt"
int(4096)
bool(false)
bool(true)
string(15) "monfichier2.txt"
int(4096)
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::compress() - Compresse l'entrée Phar courante avec une des compressions zlib ou bzip2
- 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)
- PharData::decompressFiles() - Décompresse tous les fichiers de l'archive zip courante
- phar::getSupportedCompression() - Retourne un tableau des algorithmes de compression supportés
- PharData::compress() - Compresse l'archive tar/zip complète en utilisant la compression Gzip ou Bzip2
- PharData::decompress() - Décompresse l'archive Phar entière