(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)
PharData::compress — Compacta todo o arquivo tar/zip usando Gzip ou Bzip2
Para arquivos tar, este método compacta o arquivo inteiro usando gzip ou bzip2. O arquivo resultante pode ser processado com o comando gunzip/comando bunzip ou acessado direta e transparentemente com a extensão Phar.
Para arquivos zip, este método falha com uma exceção. A extensão zlib deve estar habilitada para compactar com gzip, a extensão bzip2 deve estar habilitada para compactar com bzip2.
Além disso, este método renomeia automaticamente o arquivo, anexando .gz
,
.bz2
ou removendo a extensão se Phar::NONE
for passado para
remover a compactação. Alternativamente, uma extensão de arquivo pode ser especificada com o segundo
parâmetro.
compression
A compactação. Deve ser Phar::GZ
,
Phar::BZ2
para adicionar compactação ou Phar::NONE
para remover compactação.
extension
Por padrão, a extensão é .tar.gz
ou .tar.bz2
para compactar um tar e .tar
para descompactar.
Lança BadMethodCallException se a extensão zlib não estiver disponível ou se a extensão bzip2 não estiver habilitada.
Versão | Descrição |
---|---|
8.0.0 |
extension agora é anulável.
|
Exemplo #1 Um exemplo de PharData::compress()
<?php
$p = new PharData('/caminho/para/meu.tar');
$p['meuarquivo.txt'] = 'olá';
$p['meuarquivo2.txt'] = 'olá';
$p1 = $p->compress(Phar::GZ); // copia para /caminho/para/meu.tar.gz
$p2 = $p->compress(Phar::BZ2); // copia para /caminho/para/meu.tar.bz2
$p3 = $p2->compress(Phar::NONE); // exceção: /caminho/para/meu.tar já existe
?>