X

Como criar arquivos ZIP em PHP e extraí-los

Uma forma simples de como criar arquivos zip em PHP e extraí-los 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.

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

Turbosite:

This website uses cookies.