Phar::convertToData

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

Phar::convertToData — Convertit une archive phar en un fichier non-exĂ©cutable

Description

public function Phar::convertToData(?int $format = null, ?int $compression = null, ?string $extension = null): ?PharData

Convertit une archive phar exécutable en un fichier tar ou zip. Pour rendre le tar ou le zip non exécutable, le conteneur phar et l'alias phar sont supprimés de l'archive nouvellement créée.

Si aucun changement n'est spécifié, cette méthode émet une exception BadMethodCallException si l'archive est dans le format de fichier phar. Pour les archives basées sur tar ou zip, cette méthode convertit l'archive en une archive non exécutable.

En cas de succĂšs, la mĂ©thode crĂ©e une nouvelle archive sur le disque et retourne un objet PharData. L'ancienne archive n'est pas supprimĂ©e du disque, ce qui devrait ĂȘtre fait manuellement Ă  la fin du procĂ©dĂ©.

Liste de paramĂštres

format

Ce doit ĂȘtre l'un des formats Phar::TAR ou Phar::ZIP. Si ce paramĂštre est null, le format de fichier actuel sera conservĂ©.

compression

Ce doit ĂȘtre Phar::NONE pour aucune compression globale, Phar::GZ pour une compression basĂ©e sur zlib et Phar::BZ2 pour une compression basĂ©e sur bzip2.

extension

Ce paramĂštre est utilisĂ© pour Ă©craser l'extension par dĂ©faut d'une archive convertie. À noter que .phar ne peut pas ĂȘtre utilisĂ© dans le nom de fichier d'une archive tar ou zip non-exĂ©cutable.

Si on convertit vers une archive 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 phar basées sur zip, l'extension par défaut est .zip.

Valeurs de retour

La méthode retourne un objet PharData en cas de succÚs, ou null en cas d'échec.

Erreurs / Exceptions

Cette mĂ©thode Ă©met une exception BadMethodCallException si elle n'est pas capable de compresser, si une mĂ©thode de compression inconnue a Ă©tĂ© spĂ©cifiĂ©e ou si l'archive demandĂ©e a Ă©tĂ© mise en tampon avec Phar::startBuffering() sans ĂȘtre conclue avec Phar::stopBuffering(), et Ă©met une exception PharException si un quelconque problĂšme a Ă©tĂ© rencontrĂ© pendant la phase de crĂ©ation de l'archive.

Historique

Version Description
8.0.0 format, compression, et extension sont désormais nullable.

Exemples

Exemple #1 Un exemple avec Phar::convertToData()

Utilisons Phar::convertToData():

<?php
try {
$tarphar = new Phar('monphar.phar.tar');
// notez bien que monphar.phar.tar n'est *pas* effacé
// on convertit vers le format de fichier tar non exécutable
// crée monphar.tar
$tar = $tarphar->convertToData();
// on convertit vers le format de fichier zip non exécutable et crée monphar.zip
$zip = $tarphar->convertToData(Phar::ZIP);
// crée monphar.tbz
$tgz = $tarphar->convertToData(Phar::TAR, Phar::BZ2, '.tbz');
// crée monphar.phar.tgz
$phar = $tarphar->convertToData(Phar::PHAR); // émet une exception
} catch (Exception $e) {
// on traite les erreurs ici
}
?>

Voir aussi

add a note

User Contributed Notes

There are no user contributed notes for this page.