PHP 8.5.0 Alpha 2 available for testing

Phar::convertToData

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

Phar::convertToDataConvierte un archivo phar en un fichero no ejecutable

Descripción

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

Convierte un archivo phar ejecutable en un fichero tar o zip. Para hacer que el tar o el zip no sea ejecutable, el contenedor phar y el alias phar son eliminados del archivo recién creado.

Si no se especifica ningún cambio, este método lanza una excepción BadMethodCallException si el archivo está en el formato de archivo phar. Para los archivos basados en tar o zip, este método convierte el archivo en un archivo no ejecutable.

En caso de éxito, el método crea un nuevo archivo en el disco y devuelve un objeto PharData. El archivo antiguo no se elimina del disco, lo cual debe hacerse manualmente al final del proceso.

Parámetros

format

Debe ser uno de los formatos Phar::TAR o Phar::ZIP. Si este argumento es null, se conservará el formato de archivo actual.

compression

Debe ser Phar::NONE para ninguna compresión global, Phar::GZ para una compresión basada en zlib y Phar::BZ2 para una compresión basada en bzip2.

extension

Este argumento se utiliza para sobrescribir la extensión por defecto de un archivo convertido. Cabe señalar que .phar no puede ser utilizado en el nombre de archivo de un archivo tar o zip no ejecutable.

Si se convierte a un archivo basado en tar, las extensiones por defecto son .tar, .tar.gz, y .tar.bz2 según la compresión especificada. Para los archivos phar basados en zip, la extensión por defecto es .zip.

Valores devueltos

El método devuelve un objeto PharData en caso de éxito, o null en caso de fallo.

Errores/Excepciones

Este método lanza una excepción BadMethodCallException si no es capaz de comprimir, si se ha especificado un método de compresión desconocido o si el archivo solicitado ha sido almacenado en búfer con Phar::startBuffering() sin ser concluido con Phar::stopBuffering(), y lanza una excepción PharException si se ha encontrado algún problema durante la fase de creación del archivo.

Historial de cambios

Versión Descripción
8.0.0 format, compression, y extension ahora son nullable.

Ejemplos

Ejemplo #1 Un ejemplo con Phar::convertToData()

Utilización de Phar::convertToData():

<?php
try {
$tarphar = new Phar('monphar.phar.tar');
// note que monphar.phar.tar no es *eliminado*
// se convierte al formato de archivo tar no ejecutable
// crea monphar.tar
$tar = $tarphar->convertToData();
// se convierte al formato de archivo zip no ejecutable y crea monphar.zip
$zip = $tarphar->convertToData(Phar::ZIP);
// crea monphar.tbz
$tgz = $tarphar->convertToData(Phar::TAR, Phar::BZ2, '.tbz');
// crea monphar.phar.tgz
$phar = $tarphar->convertToData(Phar::PHAR); // lanza una excepción
} catch (Exception $e) {
// se manejan los errores aquí
}
?>

Ver también

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top