PharData::decompressFiles
(PHP >= 5.3.0, PECL phar >= 2.0.0)
PharData::decompressFiles — Décompresse tous les fichiers de l'archive zip courante
Description
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 basées sur tar, cette méthode soulè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 PharData::compress() pour compresser une archive basée sur tar complète.
Pour les archives basées sur Zip, cette méthode décompresse tous les fichiers de l'archive. Les extensions zlib ou bzip2 doivent être activées pour tirer parti de cette fonctionnalité si au moins un des fichiers est compressé avec bzip2/zlib.
Valeurs de retour
Cette fonction retourne TRUE
en cas de
succès ou FALSE
si une erreur survient.
Erreurs / Exceptions
Soulève une exception BadMethodCallException si l'extension zlib n'est pas disponible ou si au moins un des fichiers est compressé avec bzip2 et que l'extension bzip2 n'est pas activée.
Exemples
Exemple #1 Un exemple avec PharData::decompressFiles()
<?php $p = new PharData('/chemin/vers/mon.zip'); $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(14) "monfichier.txt" int(4096) bool(false) bool(true) string(15) "monfichier2.txt" int(4096) bool(false) bool(true) string(14) "monfichier.txt" bool(false) bool(false) bool(false) string(15) "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)
- PharData::compressFiles() - Compresse tous les fichiers de l'archive tar/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