Jump to content


Photo

Ajuda, Listar Arquivos De Uma Pasta Com Filtro


  • Faça o login para participar
7 replies to this topic

#1 NeT32

NeT32

    Novato no fórum

  • Usuários
  • 5 posts
  • Sexo:Não informado

Posted 12/07/2010, 05:21

Galera me ajudem, listar arquivos de uma certa pasta, mais com um certo filtro,
temos os arquivos dentro da pasta:
-----------------------
carlos_arquivodele.zip
carlos_arquivodele2.zip
joao_qualquercoisa1.zip
joao_qualquercoisa2.zip
keety_arquivodela.zip
keety_arquivodela.zip
-----------------------


Certo quero que liste todos os arquivos do usuário carlos:
quero que o PHP filtre e mostre apenas os arquivos:
-----------------------
carlos_arquivodele.zip
carlos_arquivodele2.zip
-----------------------

Listar todos os arquivos de joao:
-----------------------
joao_qualquercoisa1.zip
joao_qualquercoisa2.zip
-----------------------


E assim por diante, como proceder com esse filtro de listagem de arquivos, vlw presiso muito para fazer um File Manager!
Abraço Galera!


#2 André Manoel

André Manoel

    Doutor

  • Usuários
  • 996 posts
  • Sexo:Masculino
  • Localidade:Brasilia

Posted 12/07/2010, 11:04

Você pode guardar o filtro em uma variável e utilizar um array guardar todos os arquivos do diretório.

Com a variável e o array você pode realizar uma busca...

array_search


(y)
Iniciando na Ajuda On line...

Posted Image Meu post lhe ajudou? Reputar/votar é uma das formas de agradecer.

#3 NeT32

NeT32

    Novato no fórum

  • Usuários
  • 5 posts
  • Sexo:Não informado

Posted 13/07/2010, 15:49

cara ainda não sei como fazer com a arrary podes ser mais especifico com um codigo ? vlw abraço!

#4 Guilherme Vieira

Guilherme Vieira

    Normal

  • Usuários
  • 113 posts
  • Sexo:Masculino
  • Localidade:Fortaleza, Ceará
  • Interesses:Desenvolvimento Web baseado nos padrões do W3C, HTML5, CSS3, PHP, JavaScript, jQuery, AJAX, SQL, MySQL.

Posted 13/07/2010, 19:12

Eu sugiro que você coloque num banco de dados, um id unico (usando a função uniqid()) para cada usuário e renomeie os arquivos uploaded de cada usuário para que comecem com esse id único., por exemplo,
carlos tem o id ad34fte45, joão o id ad4v34fac e keety o aw4bb5v4.
os arquivos seriam então:

-----------------------
ad34fte45_carlos_arquivodele.zip
ad34fte45_carlos_arquivodele2.zip
ad4v34fac_joao_qualquercoisa1.zip
ad4v34fac_joao_qualquercoisa2.zip
aw4bb5v4_keety_arquivodela.zip
aw4bb5v4_keety_arquivodela.zip
-----------------------
ai vc usa uma consulta pra saber o uniqid de cada um e seleciona cada arquivo apenas se tiver aquela string.

tente refinar essa ideia que eu acho q resolve.
boa sorte
Guilherme Vieira
g.

PS: Te ajudei? Me dá ponto! ^^

#5 NeT32

NeT32

    Novato no fórum

  • Usuários
  • 5 posts
  • Sexo:Não informado

Posted 15/07/2010, 04:29

puts, estou com esse source, para exibir os arquivos mais não sei como fazer o filtro
pensei em usar assim
explode("_", $nome_do_arquivo);
mas nao sei como fazer o filtro para que mostre somente os arquivos que tem o nome do usuário antes da caractere "_"

Código de listagem:

<?php
// pega o endereço do diretório
$diretorio = "files/";
// abre o diretório
$ponteiro  = opendir($diretorio);
// monta os vetores com os itens encontrados na pasta
while ($nome_itens = readdir($ponteiro)) {
    $itens[] = $nome_itens;
}
// ordena o vetor de itens
sort($itens);
// percorre o vetor para fazer a separacao entre arquivos e pastas
foreach ($itens as $listar) {
// retira "./" e "../" para que retorne apenas pastas e arquivos
   if ($listar!="." && $listar!=".."){

// checa se o tipo de arquivo encontrado é uma pasta
   		if (is_dir($listar)) {
// caso VERDADEIRO adiciona o item à variável de pastas
			$pastas[]=$listar;
		} else{
// caso FALSO adiciona o item à variável de arquivos
			$arquivos[]=$listar;
		}
   }
}
// lista as pastas se houverem
if ($pastas != "" ) {
foreach($pastas as $listar){
   print "Pasta: <a href='$listar'>$listar</a><br>";}
   }
// lista os arquivos se houverem
if ($arquivos != "") {
foreach($arquivos as $listar){
   print " Arquivo: <a href='$listar'>$listar</a><br>";}
   }
?>

poderia fazer em MySQL mas o sistema que tem de upload vai ser muito trabalhoso de fazer essa é a forma mais simples :x

#6 André Manoel

André Manoel

    Doutor

  • Usuários
  • 996 posts
  • Sexo:Masculino
  • Localidade:Brasilia

Posted 15/07/2010, 14:44

Bem, acredito que utilizando o explode você consegue...

$filtro = "fulano";

if ($arquivos != "") {
	
    foreach($arquivos as $listar){
        $arquivoAtual = explode("_", $listar);          
        if( $filtro == $arquivoAtual[0] )
      	    echo " Arquivo: <a href='$listar'>$listar</a><br>";
    }

}

Vai separar o primeiro nome do segundo ... aí você consegue utilizar alguma espécie de filtro...

Abração!

(y)
Iniciando na Ajuda On line...

Posted Image Meu post lhe ajudou? Reputar/votar é uma das formas de agradecer.

#7 NeT32

NeT32

    Novato no fórum

  • Usuários
  • 5 posts
  • Sexo:Não informado

Posted 15/07/2010, 22:32

SUCESSO! :D
aaa vlw velho consegui perfeito puts, me bati aqui bem simples de fazer huahauah
Abraço cara! :lol:

(y)

#8 LarPhozyHah

LarPhozyHah

    Super Veterano

  • Usuários
  • 14515 posts
  • Sexo:Masculino
  • Localidade:San Miguel de Tucuman

Posted 26/10/2017, 20:00

Site Serieux Achat Cialis Cheap Viagra Tablets cialis Lasix Drug Test
Viagra Pill For Sale cialis 20mg Cialis Review Propecia Risultati
Generic Overseas Viagra Comprar Cialis En Espana Sin Receta filitra vardenafil tablets Rash From Amoxicillin




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq