# 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 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` la une compression basée sur zlib et `Phar::BZ2` pour une compression basée sur bzip2.

`extension`

  Ce paramètre est utilisée pour écraser l'extension par défaut d'une archive convertie. A 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éctuable
// crée monphar.tar
$tar = $tarphar->convertToData();
// on convertit vers le format de fichier zip non exéctuable 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

- Phar::convertToExecutable() - Convertit une archive phar vers un autre format de fichier d'archive phar exécutable
- PharData::convertToExecutable() - Convertit une archive tar/zip non-exécutable en une archive phar exécutable
- PharData::convertToData() - Convertit une archive phar en une archive tar ou zip non-exécutable