PharData
PHP Manual

PharData::compress

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::compressComprimir el archivo tar/zip entero usando la compresión Gzip o Bzip2

Descripción

object PharData::compress ( int $compression [, string $extension ] )

Para archivos tar, este método comprime el archivo entero usando la compresión gzip o bzip2. El fichero resultante puede ser procesado con el comando gunzip/bunzip, o se puede acceder a él directa y transparentemente con la extensión Phar.

Para archivos phar basados en Zip, este método falla con el lanzamiento de una excepción. La extensión zlib debe estar habilitada para poder comprimir con la compresión gzip, y la extensión bzip2 debe estar habilitada para poder comprimir con la compresión bzip2.

Además, este método renombra automáticamente el archivo, añadiéndole .gz, .bz2 o eliminado la extensión si se pasa Phar::NONE para eliminar la compresión. De forma alternativa, se puede expecificar una extensión de fichero con el segundo parámetro.

Parámetros

compression

La compresión debe ser Phar::GZ o Phar::BZ2 para añadir compresión, o Phar::NONE para eliminarla.

extension

Por omisión, la extensión es .tar.gz o .tar.bz2 para comprimir un tar, y .tar para descomprimirlo.

Valores devueltos

Devuelve un objeto de la clase PharData.

Errores/Excepciones

Lanza una excepción de tipo BadMethodCallException si la extensión zlib no está disponible, o la extensión bzip2 no está habilitada.

Ejemplos

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

<?php
$p 
= new PharData('/ruta/a/mi.tar');
$p['myfile.txt'] = 'hi';
$p['myfile2.txt'] = 'hi';
$p1 $p->compress(Phar::GZ); // copia a /ruta/a/mi.phar.gz
$p2 $p->compress(Phar::BZ2); // copia a /ruta/a/mi.phar.bz2
$p3 $p2->compress(Phar::NONE); // excepción: /ruta/a/mi.phar ya existe
?>

Ver también


PharData
PHP Manual