Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

LostStower

Zip de pastas PHP

Recommended Posts

Bom, tenho procurado em todos os topicos a solução porém não consegui encontrar.

 

Meu intuito deste código é facilitar o download por meses dos xml importados e gerados. 

 

Eu zipo a pasta do mês e forçaria o download do mesmo, porém o zip não é criado no diretorio.

 

Porém até a parte de adição dos aquivos esta ok , só que o arquivo zip em si não é gerado.

 

 

<?php
$mespasta = $_POST['mespasta'];
$data = date ('d/m/y');
$directory = 'xml/'.$mespasta.'/';
$zipfile = 'backup.zip';

echo $directory;
$filenames = array();
function browse($dir) {
global $filenames;
   if ($handle = opendir($dir)) {
       while (false !== ($file = readdir($handle))) {
           if ($file != "." && $file != ".." && is_file($dir.'/'.$file)) {
               $filenames[] = $dir.'/'.$file;
           }
           else if ($file != "." && $file != ".." && is_dir($dir.'/'.$file)) {
               browse($dir.'/'.$file);
           }
       }
       closedir($handle);
   }
   return $filenames;
}

browse($directory);
// cria zip, adiciona arquivos...
$zip = new ZipArchive();
if ($zip->open($zipfile, ZIPARCHIVE::CREATE)!==TRUE) {
   exit("Não pode abrir: <$zipfile>\n");
}

foreach ($filenames as $filename) {
    echo "Arquivo adicionado: <b>" . $filename . "<br/></b>";
     $zip->addFile($filename,$filename);
   }


echo "Total de arquivos: <b>" . $zip->numFiles . "</b>\n";
//echo "Status:" . $zip->status . "\n";
$zip->close();

?>

image.png.6e10d29666ecd23f72d5360c71fb5e5b.png

Ai ele recebe o '$mespasta' da outra pagina que consiste nos meses do ano que a pessoa deseja fazer o download. 

 

Alguem poderia me auxiliar ? Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.