PharData::compressFiles

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

PharData::compressFilesComprime todos los ficheros del archivo tar/zip actual

Descripción

PharData::compressFiles ( int $compression ) : bool

Para archivos phar basados en tar, este método lanza una excepción de tipo BadMethodCallException, ya que la compresión de ficheros individuales dentro de un archivo tar no está soportada por el formato de fichero. Use Phar::compress() para comprimir un archivo phar entero basado en tar.

Para achivos basados en Zip, este método comprime todos los ficheros del archivo usando la compresión especificada. Las extensiones zlib o bzip2 deben estar habilitadas para aprovechar esta característica. Además, si cualquier fichero ya está comprimido con la compresión bzip2/zlib, la extensión respectiva debe estar habilitada para poder descomprimir los ficheros antes de re-comprimirlos.

Parámetros

compression

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

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Errores/Excepciones

Lanza una excepción de tipo BadMethodCallException si la variable INI phar.readonly está activada, la extensión zlib no está disponible, o si cualquier fichero está comprimido con la compresión bzip2 y la extensión bzip2 no está habilitada.

Ejemplos

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

<?php
$p 
= new Phar('/ruta/a/mi.phar'0'mi.phar');
$p['mifichero.txt'] = 'hola';
$p['mifichero2.txt'] = 'hola';
foreach (
$p as $fichero) {
    
var_dump($fichero->getFileName());
    
var_dump($fichero->isCompressed());
    
var_dump($fichero->isCompressed(Phar::BZ2));
    
var_dump($fichero->isCompressed(Phar::GZ));
}
$p->compressFiles(Phar::GZ);
foreach (
$p as $fichero) {
    
var_dump($fichero->getFileName());
    
var_dump($fichero->isCompressed());
    
var_dump($fichero->isCompressed(Phar::BZ2));
    
var_dump($fichero->isCompressed(Phar::GZ));
}
?>

El resultado del ejemplo sería:

string(13) "mifichero.txt"
bool(false)
bool(false)
bool(false)
string(14) "mifichero2.txt"
bool(false)
bool(false)
bool(false)
string(13) "mifichero.txt"
int(4096)
bool(false)
bool(true)
string(14) "mifichero2.txt"
int(4096)
bool(false)
bool(true)

Ver también