Versão do meu Zend Framework: 1.12 (a ultima versão antes do ZF2)
O problema
Algumas vezes precisamos gerar uma coleção de arquivos e comprimi-los em um unico lugar para efetivar o download ao usuario. Esse problema pode ser facilmente resolvido com as classes de ZIP do PHP mas é muito melhor utilizar uma classe util do Zend Framework que agiliza todo o seu tempo de desenvolvimento além de ter maior rigor nessa compressão. Ta mas e ai, como faço para utilizar essa Zend_Filter_Compress_Zip ?
O uso é bem simples veja:
- /**
- * @Desc Exemplo simples de compressão de arquivos
- */
- public function exemplozipAction()
- $zip = new Zend_Filter_Compress_Zip();
- /* O SEU ZIP COM O PATH E NOME */
- $zip->setArchive("/conteudo/exemplo.zip");
- /* O DESTINO */
- $zip->setTarget("/conteudo/");
- /* O ARQUIVO OU PASTA COM OS ARQUIVOS QUE SERÃO COMPRIMIDOS */
- $arquivoZipado = $zip->compress("/conteudo/tmp/");
- $this->view->arquivoZipado = $arquivoZipado;
- }
Basicamente o que fazemos ai é, criar o objeto $zip da Zend_Filter_Compress_Zip definir o arquivo zip que será gerado, definir o destino e passar o arquivo ou o diretorio a ser comprimido(Todos os arquivos dentro do diretório serão comprimidos).
Depois é só mandar para download.
É ISSO AI, ATÉ A PRÓXIMA!