Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Saudações turma!
Procuro uma solução ou, preferencialmente, uma ferramenta que eu possa estudar e adequar as minhas aplicações com o objetivo de compactar múltiplos arquivos.
Até hoje, por atender minhas necessidades, uso zLib para compressão e descompressão de arquivos únicos, porém sabemos, ou até onde vai o meu conhecimento, que não dá para gravar múltiplos arquivos num .gz.
Procuro uma ferramenta que me permita, por exemplo:
- criar o arquivo comprimido com um nome personalizado;
- adicionar múltiplos aquivos ao compresso;
O formato é irrelevante pra mim desde que haja suporte no PHP 5.2 ou superior mesmo que não nativo.
Alguma sugestão de classe nativa ou não que eu possa implementar?
[]'s
Perfeito!
Pelo que percebi a extensao Zip mudou para ZipArchive, pois eu ja havia tentado estanciar a classe Zip sem sucesso!
A ferramenta em minha mão e não sabia, hauhauahua.
Agora é mãos a obra para atualizar minha classe para compactação de arquivos e fazer upgrade nos sistemas... ;)
Obrigado @brhvitor6.
Resolvido!
<?php
// diretório que será compactado
$diretorio = 'serao_compactados/';
// inicializa a classe ZipArchive
$zip = new ZipArchive();
// abre o arquivo .zip
if ($zip->open("seu-arquivo-zip.zip", ZIPARCHIVE::CREATE) !== TRUE) {
// itera cada pasta/arquivo contido no diretório especificado
foreach ($iterator as $key=>$value) {
// adiciona o arquivo ao .zip
// fecha e salva o arquivo .zip gerado
Acima um exemplo de compactação de um diretorio, veja o uso do addFile