PharData::convertToExecutable
(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)
PharData::convertToExecutable — Convertir un archivo tar/zip no ejecutable en un archivo phar ejecutable
Descripción
PharData::convertToExecutable(
int $format
= ?,
int $compression
= ?,
string $extension
= ?):
Phar
Nota:
Este
método requiere que la opción de php.ini phar.readonly
esté establecida
a 0
para que trabaje con objetos Phar.
De otra manera, se lanzará una excepción de tipo PharException.
Este método se utiliza para convertir un arhivo tar o zip no ejecutable en un
archivo phar ejecutable. Se puede usar cualquiera de los tres
formatos de fichero (phar, tar o zip), y también se puede realizar la compresión del archivo completo.
Si no se especifica ningún cambio, este método lanza una excepción de tipo BadMethodCallException
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.
If successful, the method creates a new archive on disk and returns a Phar
object. The old archive is not removed from disk, and should be done manually after
the process has finished.
Parámetros
-
format
-
Este parámetro debería ser Phar::PHAR
, 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 todos los archivos phar basados en zip o en tar deben contener
.phar
en su extensión de fichero para poder ser procesados como un
archivo phar.
Si se convierte a un archivo basado en phar, las extensiones predeterminadas son
.phar
, .phar.gz
, o .phar.bz2
dependiendo de la compresión especificada. Para archivos phar basados en tar, las
extensiones predeterminadas son .phar.tar
, .phar.tar.gz
,
y .phar.tar.bz2
. Para archivos phar basados en zip, la
estensión predeterminada es .phar.zip
.
Valores devueltos
El método devuelve un objeto Phar en caso de éxito, y lanza una
excepción en caso de error.
Ejemplos
Ejemplo #1 Un ejemplo de PharData::convertToExecutable()
Utilizar PharData::convertToExecutable():
<?php
try {
$tarphar = new PharData('miphar.tar');
// convertirlo al formato de fichero phar
// observe que miphar.tar *no* está desvinculado
$phar = $tarphar->convertToExecutable(Phar::PHAR); // crea miphar.phar
$phar->setStub($phar->createDefaultStub('cli.php', 'web/index.php'));
// crea miphar.phar.tgz
$comprimido = $tarphar->convertToExecutable(Phar::TAR, Phar::GZ, '.phar.tgz');
} catch (Exception $e) {
// manejar el error aquí
}
?>