(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)
PharFileInfo::compress — Comprime la entrada Phar actual con una de las compresiones zlib o bzip2
Este método comprime el fichero dentro del archivo Phar utilizando una de las compresiones bzip2 o zlib. Las extensiones bzip2 o zlib deben estar activadas para aprovechar esta funcionalidad. Además, si el fichero ya está comprimido, la extensión adecuada debe estar activada para descomprimirlo. Al igual que con todas las funcionalidades que modifican el contenido de un phar, la variable INI phar.readonly debe estar a off para tener éxito si el fichero está dentro de un archivo Phar. Los ficheros dentro de archivos PharData no tienen esta restricción.
Retorna siempre true
.
Levanta una excepción BadMethodCallException si la variable INI phar.readonly está a on, o si la extensión bzip2/zlib no está disponible.
Ejemplo #1 Un ejemplo con PharFileInfo::compress()
<?php
try {
$p = new Phar('/ruta/hacia/mifichero.phar', 0, 'mifichero.phar');
$p['mifichero.txt'] = 'hola';
$file = $p['mifichero.txt'];
var_dump($file->isCompressed(Phar::BZ2));
$p['mifichero.txt']->compress(Phar::BZ2);
var_dump($file->isCompressed(Phar::BZ2));
} catch (Exception $e) {
echo 'No puede crear/modificar mifichero.phar : ', $e;
}
?>
El ejemplo anterior mostrará :
bool(false) bool(true)