Uma forma simples de criar e extrair arquivos ZIP. Você pode utilizá-la para Backup, compactar arquivos para downloads e até mesmo agrupar diversos arquivos para seu cliente, facilitando a vida deles.
Criamos 2 funções muito simples, uma para criar o arquivo compactado que aceita 2 parâmetros, um array dos arquivos e outro para o nome do arquivo que será gerado e outra para extrair os arquivos, que também recebe 2 parâmetros, um para dizer qual será o arquivo que deve ser descompactado e a outra, o local onde deverá ser descompactado.
Resumo:
- Criando a função para Compactar ( createZipFile )
- Utilização da função createZipFile
- Criando a função para descompactar ( extractZipFile )
- Utilização da função extractZipFile
Criando a função para Compactar:
function createZipFile($f = array(),$fileName){ $zip = new ZipArchive(); $zip->open("$fileName.zip", ZipArchive::CREATE); foreach($f as $file){ $zip->addFile($file); } $zip->close(); }
Utilização:
$f = array( 'arquivo1.pdf', 'arquivo2.pdf', 'planilha1.pdf', 'planilha2.pdf', 'backup/banco.sql' ); $fileName = 'arquivos-compactados'; createZipFile($f,$fileName);
Criando a função para descompactar
function extractZipFile($origem,$destino){ $zipFile = new ZipArchive; $openFile = $zipFile->open($origem); if ($openFile === TRUE) { $zipFile->extractTo($destino); $zipFile->close(); echo 'Arquivos extraídos com sucesso.'; } else { echo 'Extração dos arquivos falhou.'; } }
Extraindo os arquivos:
$origem = "arquivos-compactados.zip"; $destino = "extrair/"; echo extractZipFile($origem,$destino);
Esperamos que tenham gostado deste mini tutorial, válido e prático, quem quiser deixar o código mais enxuto, poste nos comentários que iremos publicar.
This post was last modified on 4 de maio de 2018 13:16