PHP 8.5.0 Alpha 2 available for testing

Phar::decompress

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

Phar::decompressDescomprime el archivo tar completo

Descripción

public Phar::decompress(?string $extension = null): ?Phar

Nota:

Este método requiere que la variable de configuración INI phar.readonly esté definida a 0 para funcionar con los objetos Phar. De lo contrario, se lanzará una excepción PharException.

Para los archivos phar basados en tar y en phar, este método descomprime el archivo completo.

Para los archivos phar basados en Zip, este método falla y lanza una excepción. La extensión zlib debe estar activa para descomprimir un archivo comprimido con gzip, y la extensión bzip2 debe estar activa para descomprimir un archivo comprimido con bzip2. Al igual que con todas las funcionalidades que modifican el contenido de un phar, la variable INI phar.readonly debe estar a off para que funcione.

Además, este método cambia automáticamente la extensión del archivo, .phar Por omisión para los archivos phar, o .phar.tar para los archivos phar basados en tar. De lo contrario, se puede especificar una extensión de archivo utilizando el segundo argumento.

Parámetros

extension

Para descomprimir, las extensiones de archivo por omisión son .phar y .phar.tar. Utilice este argumento para especificar otra extensión de archivo. Cabe señalar que todos los archivos phar ejecutables deben contener .phar en su nombre de archivo.

Valores devueltos

Se devuelve un objeto Phar en caso de éxito, o null en caso de fallo.

Errores/Excepciones

Se lanza una excepción BadMethodCallException si la variable INI phar.readonly está a on, si la extensión zlib no está disponible, o si la extensión bzip2 no está activada.

Historial de cambios

Versión Descripción
8.0.0 extension ahora es nullable.

Ejemplos

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

<?php
$p
= new Phar('/ruta/al/mon.phar', 0, 'mon.phar.gz');
$p['monfichero.txt'] = 'hola';
$p['monfichero.txt'] = 'hola';
$p3 = $p2->decompress(); // crea /ruta/al/mon.phar
?>

Ver también

add a note

User Contributed Notes 1 note

up
0
shevadas at gmail dot com
9 years ago
decompress() will truncate any part of the filename after the first period, as it assumes it's part of the extension. For example, if your PharData archive is named "views-3.x-3.13.tar.gz", calling decompress on it will create a tar file named "views-3.tar". See https://bugs.php.net/bug.php?id=58852
To Top