>(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)
Phar::decompressFiles — Décompresse tous les fichiers de l'archive Phar courante
Description
public
Phar::decompressFiles(): bool
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 lève une exception
BadMethodCallException, car la compression individuelle des fichiers
au sein d'une archive tar n'est pas supportée par le format de fichier. Utilisez
phar::compress() pour compresser en archive phar basée sur tar en entier.
Pour les archives phar basées sur Zip ou sur phar, cette méthode décompresse tous les fichiers
de l'archive Phar.
Les extensions zlib ou bzip2
doivent être activées pour tirer parti de cette fonctionnalité si n'importe lequel des fichiers
est compressé en utilisant une la compression bzip2/zlib.
Comme avec toutes les fonctionnalités qui modifient le contenu d'un phar, la variable INI
phar.readonly doit être à off
pour fonctionner.
Liste de paramètres
Cette fonction ne contient aucun paramètre.
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 des fichiers est compressé en utilisant la compression
bzip2 et que l'extension bzip2 n'est pas activée.
Exemples
Exemple #1 Un exemple avec phar::decompressFiles()
<?php
$p = new Phar('/chemin/vers/mon.phar', 0, 'mon.phar');
$p['monfichier.txt'] = 'salut';
$p['monfichier2.txt'] = 'salut';
$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));
}
$p->decompressFiles();
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(10) "monfichier.txt"
int(4096)
bool(false)
bool(true)
string(11) "monfichier2.txt"
int(4096)
bool(false)
bool(true)
string(10) "monfichier.txt"
bool(false)
bool(false)
bool(false)
string(11) "monfichier2.txt"
bool(false)
bool(false)
bool(false)
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)
- phar::compressFiles() - Compresse tous les fichiers de l'archive Phar courante'
- phar::getSupportedCompression() - Retourne un tableau des algorithmes de compression supportés
- phar::compress() - Compresse l'archive Phar complète en utilisant la compression Gzip ou Bzip2
- phar::decompress() - Décompresse l'archive tar complète