>(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)
PharData::convertToData — Convertit une archive phar en une archive tar ou zip non-exécutable
Description
public
PharData::convertToData(?int
$format =
null, ?int
$compression =
null, ?string
$extension =
null): ?PharData
Si aucun changement n'est demandé, cette méthode, cette méthode soulève une exception
BadMethodCallException.
Cette méthode doit être utilisée pour convertir une archive tar au format zip et vice-versa.
Bien qu'il soit possible de changer la compression d'une archive tar avec cette méthode, il est
préférable d'utiliser la méthode PharData::compress() pour rester cohérent au
niveau de la logique.
En cas de succès, cette méthode crée une nouvelle archive sur le disque et retourne un objet
PharData. L'ancienne archive n'est pas effacée du disque, ceci devant
être fait manuellement une fois le traitement terminé.
Liste de paramètres
-
format
-
Le format doit être Phar::TAR ou
Phar::ZIP. S'il vaut null, le format de fichier actuel sera conservé.
-
compression
-
La compression doit être Phar::NONE pour éviter la compression de l'archive
complète, Phar::GZ pour la compression basée sur zlib, et
Phar::BZ2 pour la compression basée sur bzip.
-
extension
-
Ce paramètre est utilisé pour écrase l'extension de fichier par défaut de l'archive convertie. Notez
que .phar ne peut pas être utilisé n'importe où dans le nom de fichier d'une
archive tar ou zip non-exécutable.
En cas de conversion vers une archive phar basée sur tar, les extensions par défaut sont
.tar, .tar.gz
et .tar.bz2 selon la compression spécifiée.
Pour les archives basées sur zip, l'extension par défaut est .zip.
Valeurs de retour
Cette méthode retourne un objet PharData en cas de succès,
ou null en cas d'échec.
Erreurs / Exceptions
Cette méthode soulève une exception BadMethodCallException
quand elle est incapable de compresser, quand une méthode de compression inconnue a été
spécifiée, quand l'archive demandée est mise en tampon avec
phar::startBuffering() et qu'elle n'a pas été conclue avec
phar::stopBuffering(), et soulève une exception
PharException si un quelconque problème est rencontré lors de
la création du phar.
Historique
Exemples
Exemple #1 Un exemple avec phardata::convertToData()
Utilisons phardata::convertToData():
<?php
try {
$tarphar = new PharData('monphar.tar');
// notez que monphar.tar n'est *pas* effacé
// le convertir au format tar non-exécutable
// crée monphar.zip
$zip = $tarphar->convertToData(Phar::ZIP);
// crée monphar.tbz
$tgz = $zip->convertToData(Phar::TAR, Phar::BZ2, '.tbz');
// crée monphar.phar.tgz
$phar = $tarphar->convertToData(Phar::PHAR); // soulève une exceptions
} catch (Exception $e) {
// les erreurs sont traitées ici
}
?>
Voir aussi
- phar::convertToExecutable() - Convertit une archive phar vers un autre format de fichier d'archive phar exécutable
- phar::convertToData() - Convertit une archive phar en un fichier non-exécutable
- phardata::convertToExecutable() - Convertit une archive tar/zip non-exécutable en une archive phar exécutable