PharData::compressFiles

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

PharData::compressFilesCompacta todos os arquivos no arquivo tar/zip atual

Descrição

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

Para arquivos baseados em tar, este método lança uma BadMethodCallException, pois a compactação de arquivos individuais dentro de um arquivo tar não é suportada pelo formato de arquivo. Use PharData::compress() para compactar um arquivo inteiro baseado em tar.

Para arquivos Zip, este método compacta todos os arquivos usando a compactação especificada. As extensões zlib ou bzip2 devem estar habilitadas para aproveitar este recurso. Além disso, se algum arquivo já estiver compactado usando bzip2/zlib, a respectiva extensão deverá ser habilitada para descompactar os arquivos antes de compactar novamente.

Parâmetros

compression

A compactação. Deve ser Phar::GZ ou Phar::BZ2 para adicionar compactação; ou Phar::NONE para remover compactação.

Valor Retornado

Nenhum valor é retornado.

Erros/Exceções

Lança BadMethodCallException se a variável INI phar.readonly estiver ativada, a extensão zlib não estiver disponível ou se algum arquivo estiver compactado usando a bzip2 e a extensão bzip2 não estiver habilitada.

Exemplos

Exemplo #1 Um exemplo de PharData::compressFiles()

<?php
$p
= new Phar('/caminho/para/meu.phar', 0, 'meu.phar');
$p['meuarquivo.txt'] = 'olá';
$p['meuarquivo2.txt'] = 'olá';
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));
}
?>

O exemplo acima produzirá:

string(14) "meuarquivo.txt"
bool(false)
bool(false)
bool(false)
string(15) "meuarquivo2.txt"
bool(false)
bool(false)
bool(false)
string(14) "meuarquivo.txt"
int(4096)
bool(false)
bool(true)
string(15) "meuarquivo2.txt"
int(4096)
bool(false)
bool(true)

Veja Também

adicione uma nota

Notas Enviadas por Usuários (em inglês)

Não há notas de usuários para esta página.
To Top