PHP 8.5.0 Alpha 1 available for testing

PharData::compressFiles

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

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

Descripción

public PharData::compressFiles(int $compression): void

Para los archivos basados en tar, este método genera una excepción BadMethodCallException ya que la compresión individual de los ficheros de un archivo tar no es soportada por este formato de archivo. Utilice PharData::compress() para comprimir un archivo basado en tar completo.

Para los archivos basados en Zip, este método comprime todos los ficheros del archivo utilizando la compresión especificada. Las extensiones zlib o bzip2 deben estar activadas para aprovechar esta funcionalidad. Además, si al menos un fichero ya está comprimido utilizando la compresión bzip2/zlib, la extensión adecuada debe estar activada para descomprimir los ficheros antes de volver a comprimirlos.

Parámetros

compression

La compresión debe ser Phar::GZ o Phar::BZ2 para aplicar una compresión, o Phar::NONE para eliminarla.

Valores devueltos

No se retorna ningún valor.

Errores/Excepciones

Genera una excepción BadMethodCallException si la variable INI phar.readonly está a on, si la extensión zlib no está disponible o si al menos un fichero está comprimido vía bzip2 y la extensión bzip2 no está activada.

Ejemplos

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

<?php
$p
= new Phar('/ruta/al/mon.phar', 0, 'mon.phar');
$p['monfichero.txt'] = 'hola';
$p['monfichero2.txt'] = 'hola';
foreach (
$p as $file) {
var_dump($file->getFileName());
var_dump($file->isCompressed());
var_dump($file->isCompressed(Phar::BZ2));
var_dump($file->isCompressed(Phar::GZ));
}
$p->compressFiles(Phar::GZ);
foreach (
$p as $file) {
var_dump($file->getFileName());
var_dump($file->isCompressed());
var_dump($file->isCompressed(Phar::BZ2));
var_dump($file->isCompressed(Phar::GZ));
}
?>

El ejemplo anterior mostrará :

string(14) "monfichero.txt"
bool(false)
bool(false)
bool(false)
string(15) "monfichero2.txt"
bool(false)
bool(false)
bool(false)
string(14) "monfichero.txt"
int(4096)
bool(false)
bool(true)
string(15) "monfichero2.txt"
int(4096)
bool(false)
bool(true)

Ver también

add a note

User Contributed Notes

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