Ir para conteúdo
Fórum Script Brasil
  • 0

Zipando Arquivos


D31v1d1

Pergunta

Bom dia, estou com o seguinte problema.

Tenho este código que funciona perfeitamente zipando os arquivos do diretorio indicado

$directory = "pg/fotos/img/album/".$as;
        $zipfile = "pg/fotos/img/album/".$as.".zip";
        
        $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);
        $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";
        header ("Location: ".$zipfile);

as imagens que estou zipando fica no diretório pg/fotos/img/album/ variavel com o nome do album.

como falei acima está zipando perfeitamente, o problema é que no arquivo zip está criando as pastas ou seja para pegar as fotos preciso entrar na pasta pg/fotos/img/album/2134234 para dai sim poder visualizar ou retirar somente as imagens, alguém sabe me dizer como zipar somente as fotos sem as pastas que estão no caminho do diretorio?

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0
Bom dia, estou com o seguinte problema.

Tenho este código que funciona perfeitamente zipando os arquivos do diretorio indicado

$directory = "pg/fotos/img/album/".$as;
        $zipfile = "pg/fotos/img/album/".$as.".zip";
        
        $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);
        $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";
        header ("Location: ".$zipfile);

as imagens que estou zipando fica no diretório pg/fotos/img/album/ variavel com o nome do album.

como falei acima está zipando perfeitamente, o problema é que no arquivo zip está criando as pastas ou seja para pegar as fotos preciso entrar na pasta pg/fotos/img/album/2134234 para dai sim poder visualizar ou retirar somente as imagens, alguém sabe me dizer como zipar somente as fotos sem as pastas que estão no caminho do diretorio?

você deve acessar o diretorio onde se econtram os arquivos open_dir() até mais

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...