Como criar arquivos ZIP em PHP e extraí-los

09:52

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.