RafaelCK 1 Denunciar post Postado Outubro 21, 2012 olá, galera tem como me explicar, se não for pedir muito de como fazer para criar arquivos zip por exemplo: <?php // Criando o objeto $z = new ZipArchive(); // Criando o pacote chamado "teste.zip" $criou = $z->open('teste.zip', ZipArchive::CREATE); if ($criou === true) { // Criando um diretorio chamado "teste" dentro do pacote $z->addEmptyDir('teste'); // Criando um TXT dentro do diretorio "teste" a partir do valor de uma string $z->addFromString('teste/texto.txt', 'Conteúdo do arquivo de Texto'); // Criando outro TXT dentro do diretorio "teste" $z->addFromString('teste/outro.txt', 'Outro arquivo'); // Copiando um arquivo do HD para o diretorio "teste" do pacote $z->addFile('teste.php', 'teste/teste.php'); // Apagando o segundo TXT $z->deleteName('teste/outro.txt'); // Salvando o arquivo $z->close(); } else { echo 'Erro: '.$criou; } ?> mas eu queria que não salvasse no servidor e somente mandava o download do arquivo zip para o cliente ou até mesmo poderia salvar mas que depois de 30 minutos ou 1 horas ele se apagasse PS:Este código foi disponibilizado por Rubens Ribeiro e pode ser encontrado aqui http://rubsphp.blogspot.com.br/2011/03/manipulando-arquivos-zip-pelo-php.html Compartilhar este post Link para o post Compartilhar em outros sites
Lucas Peperaio 20 Denunciar post Postado Outubro 22, 2012 Simples, depois que você fechou o zip lá no $zip->close, use a função readfile do PHP para ler o arquivo, em seguida mande-o para download: <?php ob_start(); // Criando o objeto $z = new ZipArchive(); // Criando o pacote chamado "teste.zip" $criou = $z->open('teste.zip', ZipArchive::CREATE); if ($criou === true) { // Criando um diretorio chamado "teste" dentro do pacote $z->addEmptyDir('teste'); // Criando um TXT dentro do diretorio "teste" a partir do valor de uma string $z->addFromString('teste/texto.txt', 'Conteúdo do arquivo de Texto'); // Criando outro TXT dentro do diretorio "teste" $z->addFromString('teste/outro.txt', 'Outro arquivo'); // Copiando um arquivo do HD para o diretorio "teste" do pacote $z->addFile('teste.php', 'teste/teste.php'); // Apagando o segundo TXT $z->deleteName('teste/outro.txt'); // Salvando o arquivo $z->close(); //SETANDO OS HEADERS NECESSARIOS header("Content-length: " . filesize( "teste.zip" ) ); header("Content-type: application/octet-stream"); header("Content-disposition: attachment; filename=test.zip"); //ABRINDO O ARQUIVO readfile( "teste.zip" ); } else { echo 'Erro: '.$criou; } ?> Eu adicionei o ob_start(); no começo para segurar o buffer de saída até eu enviar os headers do download. Se quiser, apague o arquivo após o ReadFile com a função Unlink Compartilhar este post Link para o post Compartilhar em outros sites
RafaelCK 1 Denunciar post Postado Outubro 22, 2012 Obrigado, Lucas Peperaio, pela ajuda e também gostei de seu site para burlamento de downloads Parabéns :thumbsup: Compartilhar este post Link para o post Compartilhar em outros sites