# PharData::convertToData

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

PharData::convertToData — Convertir un archivo phar en un fichero tar o zip no ejecutable

### Descripción

PharData::convertToData(int `$format` = ?, int `$compression` = ?, string `$extension` = ?): PharData

Este método se usa para convertir un archivo tar o zip no ejecutable a otro formato no ejecutable.

Si no se especifica ningún cambio, este método lanza una excepción de tipo BadMethodCallException Este método debería usarse para convertir un archivo tar a formato zip o viceversa. Aunque es posible cambiar la compresión de un archivo tar simplemente usando este método, es mejor utilizad el método PharData::compress() para una consistencia lógica.

En caso de éxito, el metodo crea un nuevo archivo en disco y devuelve un objeto de la clase PharData. El archivo antiguo no se elimina del disco, y debería hacerse manualmente después de que el proceso haya finalizado.

### Parámetros

`format`

  Este parámetro debería ser `Phar::TAR` o `Phar::ZIP`. Si se establece a `null`, se conservará el formato de fichero existente.

`compression`

  Este parámetro debería ser `Phar::NONE` para no comprimir el archivo completo, `Phar::GZ` para la compresión basada en zlib, y `Phar::BZ2` para la compresión basada en bzip.

`extension`

  Este parámetro se utiliza para sobrescribir la extensión de fichero predeterminada de un archivo convertido. Observe que `.phar` no puede ser usado en ningún lugar del nombre de fichero de un archivo tar o zip no ejecutable.

  Si se convierte a un archivo basado en tar, las extensiones predeterminadas son `.tar`, `.tar.gz`, y `.tar.bz2` dependiendo de la compresión especificada. Para archivos basados en zip, la extensión predetermianda es `.zip`.

### Valores devueltos

El método devuelve un objeto PharData en caso de éxito, y lanza una excepción en caso de error.

### Errores/Excepciones

Este método lanza una excepción de tipo BadMethodCallException cuando no se puede comprimir, se ha especificado un método de compresión desconocido, el archivo solicitado está almacenado en buffer con Phar::startBuffering() y no se ha cerrado con Phar::stopBuffering(), y una excepción de tipo PharException si se encontró algún problema durante el proceso de la creación de phar.

### Ejemplos

Ejemplo #1 Un ejemplo de PharData::convertToData()

Utilizar PharData::convertToData():

`<?php
try {
$tarphar = new PharData('miphar.tar');
// observe que miphar.phar.tar *no* está desvinculado.
// convertirlo a un formato de fichero tar no ejecutable,
// se crea miphar.zip
$zip = $tarphar->convertToData(Phar::ZIP);
// crear miphar.tbz
$tgz = $tarphar->convertToData(Phar::TAR, Phar::BZ2, '.tbz');
// crear miphar.phar.tgz
$phar = $tarphar->convertToData(Phar::PHAR); // lanza una excepción
} catch (Exception $e) {
// manejar el error aquí
}
?>`

### Ver también

- Phar::convertToExecutable() - Convertir un archivo phar en otro formato de archivo phar ejecutable
- Phar::convertToData() - Convertir un archivo phar en un fichero tar o zip no ejecutable
- PharData::convertToExecutable() - Convertir un archivo tar/zip no ejecutable en un archivo phar ejecutable