Ir para o conteúdo
Wise

Upload e Recursividade e BD

Mensagens Recomendadas

Wise

Boas pessoal.

Hoje venho colocar uma dúvida para saber a melhor opção de como ei de resolver as coisas, por isso ainda não tenho nenhum código.

Vou explicar a situação (Visto que sou noob em PHP) :

Um utilizador faz upload de uns ficheiros de encontros (por exemplo "Encontro da Natureza") e este insere os ficheiros numa pasta. Na base de dados é inserido a data e o tipo de encontro que existe (Existem encontro anuais e há uma tabela chamada tipo_Encontros que tem por exemplo o da natureza) e depois é inserido noutra tabela o nome dos ficheiros (por exemplo foi inserido o ficheiro "Horario.pdf") com o caminho e o id do encontro.

Tenho uma página que já faz upload de ficheiros (Pdf, docs e imagens) e está tudo a funcionar 5*. O upload é feito para uma pasta fora do web root para ter mais segurança (pelo menos li que era mais seguro) mas estes ficheiros só podem estar disponíveis quando o utilizador que enviou carregar num botão por isso meti na BD um campo a dizer ativo para ver quais são os ativos e os que não estão ativos.

A administração quis que as pastas fossem organizadas por data por isso eu simplesmente peguei numa data (A tal que é inserida na tabela do encontros) e fiz por ano e depois por dia/mes. Exemplo:

Pasta:

2013->16-Abril-> ficheiros

BD:

Encontros

Nome: Encontro Natureza

data: 2013-04-06

ficherios

nome: horario.pdf

caminho: caminho...

As pastas apenas podem estar disponíveis quando o tal campo "ativo" estiver true.

E aqui é que está o meu problema..

Como é que faço para mostrar numa espécie de directório mas apenas mostrar os que estão ativos? Visto que os utilizadores têm de estar logados para aceder aos ficheiros e não podem ver ficheiros de outros perfis de utilizador.

Por exemplo queria que ele listasse as pastas disponíveis e o utilizador ia carregando (Ano -> e o mes/dia -> ver ficheiros) mas apenas os que estão ativos e não todos os ficheiros.

Se eu fizer com o opendir ou algo do género ele vai mostrar as pastas todas certo? Estive a tentar fazer com sql query o caminho mas acho que não ia adiantar muito porque mesmo que ele vá buscar o caminho através de uma query vai mostrar na mesma os ficheiros da pasta toda certo?

Não sei se me fiz entender, mas não sei muito bem o que fazer :s

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pikax

Primeiro fazes a query para os ficheiros que ele tem permissao.

Segundo vais verificar se os ficheiros do directorio sao os que a query retornou.


Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Wise

Primeiro fazes a query para os ficheiros que ele tem permissao.

Segundo vais verificar se os ficheiros do directorio sao os que a query retornou.

mas como é que consigo criar um directorio assim?

Para o utilizador carregar no Ano, depois no dia-mes e assim ver os ficheiros?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pikax

podes fazer uma pesquisa no sql para ver se o ficheiro se enquadra nessa data


Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.