Jump to content


Photo

Busca Por Pastas


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

#1 Re-Lenner

Re-Lenner

    Novato no fórum

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

Posted 04/04/2006, 17:53

Pessoal eh o seguinte, eu tenho as seguintes pastas...

Pasta1 q contem: subpasta0001, subpasta0002, subpasta0003 e etc
Pastanova2 q contem, subpastanova0001, subpastanova0002, subpastanova0003 e etc
Pastinha3 q contem, subpastinha0001, subpastinha0002, subpastinha0003 e etc


Eu gostatia de 1 script de busca q buscasse por exemplo por: tinha, ai ele procurasse o nome nos nomes das pastas e retornasse assim:

Sua Busca Resultou:

Pasta1: 0 resultados

Pastanova2: 0 Resultados

Pastinha3: 3 Resultados

subpastinha0001 ( com link para: index.php?ir=subpastinha0001 )
subpastinha0002 ( com link para: index.php?ir=subpastinha0002 )
subpastinha0003 ( com link para: index.php?ir=subpastinha0003 )




É Dificil Fazer isso? Uma pessoa com apenas "noções" de php, ira conseguir? sera que ninguem faz pra mim nao?

#2 paes

paes

    GustavoPaes.Net

  • Usuários
  • 1393 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP
  • Interesses:Rumo ao topo!

Posted 04/04/2006, 19:46

Olá,

Não é tão complicado.
Vou te passar a lógica e os comandos que vc deve utilizar para fazer a busca.

Vc tem que fazer a listagem de todos os arquivos e verificar se ele confere com a palavra chave.

Para listar todos os arquivos de um diretório:
http://br.php.net/ma...ion.opendir.php
http://br.php.net/ma...ion.readdir.php

Você irá precisar verificar se os arquivos listados são ou não diretórios. Pois, vá se existe um arquivo com o mesmo nome de pasta!!

Para isso use a função:
http://br.php.net/is_dir

Veja se com isso você consegue fazer algo!
Qualquer dúvida falae!

Até mais
Site: GustavoPaes.net

^ Rumo ao Topo ^

#3 Re-Lenner

Re-Lenner

    Novato no fórum

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

Posted 04/04/2006, 20:24

Fala

Obrigado pela explicação pães, mais axo que me expressei mal no primeiro poste =/

tipo não eh noções em php, é "noções", hehehe essas "" fazem toda a diferença :assobio:

Então eu nao entendo php, mas sempre que pego um script acabo configurando +/- ele do meu jeito...

Sobre o que vc falou dos diretorios, eu editei a pagina do easyphp :assobio:

e ficou:

<?
$rep=opendir('.');
$bAuMoinsUnRepertoire = false;
while ($file = readdir($rep)){
	if($file != '..' && $file !='.' && $file !=''){ 
		if (is_dir($file)){
			$bAuMoinsUnRepertoire = true;
			print("<td width='100%'>");
			print(" # ");
			print("<a href='$file/'>$file</a><br>");
			print("</td></tr>");
		}
	}
}
closedir($rep);
clearstatcache();
?>

deve existir alguma maneira mais facil, mais como eu so tenho "noções" foi o jeito mais facil q consegui...

O problema é agora como fazer pra buscar?

Não existe algum script q faca +/- isso?

OBS: se você trabalha com freela de programação me envie um orcamento por PM, pode ser?

#4 paes

paes

    GustavoPaes.Net

  • Usuários
  • 1393 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP
  • Interesses:Rumo ao topo!

Posted 04/04/2006, 20:27

Troque isso:
if (is_dir($file)){
			$bAuMoinsUnRepertoire = true;
			print("<td width='100%'>");
			print(" # ");
			print("<a href='$file/'>$file</a><br>");
			print("</td></tr>");
		}

Por isso:
if (is_dir($file) AND $file == "busca")
	echo "Encontrado...";

Sobre ter uma forma mais fácil acredito que não, pois vc é obrigado a varrer a lista de diretórios para fazer a pesquisa.

Vc pode tentar cadastrar os diretórios em um banco de dados... daí ficaria mais rápido, acredito eu!

Só que se vc está usando diretóriso, é pq não tem banco de dados, ou não há uma grande necessidade para utilizá-lo

Até mais
Site: GustavoPaes.net

^ Rumo ao Topo ^

#5 Re-Lenner

Re-Lenner

    Novato no fórum

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

Posted 04/04/2006, 20:35

Obrigado mais uma vez, paes...

mais agora to ateh com vergonha de falar, mais e agora o q eu faco?
como sai a busca?

ehhehe alterei o q tu pediu dicou:

<?
$rep=opendir('.');
$bAuMoinsUnRepertoire = false;
while ($file = readdir($rep)){
	if($file != '..' && $file !='.' && $file !=''){ 
		if (is_dir($file) AND $file == "busca")
	echo "Encontrado...";
	}
}
closedir($rep);
clearstatcache();
?>


#6 paes

paes

    GustavoPaes.Net

  • Usuários
  • 1393 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP
  • Interesses:Rumo ao topo!

Posted 04/04/2006, 20:43

Coloque $cont = 0; antes de seu while e depois altere o if():

if (is_dir($file) AND $file == "busca")
	$cont += 1;

Daí depois do while() faça:
echo "Total de $cont resultados encontrados";

Até
Site: GustavoPaes.net

^ Rumo ao Topo ^

#7 Re-Lenner

Re-Lenner

    Novato no fórum

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

Posted 04/04/2006, 21:03

Bom paes...
ficaria como assim?

<?
$rep=opendir('.');
$bAuMoinsUnRepertoire = false;
$cont = 0;
while ($file = readdir($rep)){
	if($file != '..' && $file !='.' && $file !=''){ 
		if (is_dir($file) AND $file == "busca")
	$cont += 1;
	echo "Encontrado...";
	}
}
echo "Total de $cont resultados encontrados";
closedir($rep);
clearstatcache();
?>

e depois fazer um formulario com o action indicado a pagina q tenha esse codigo?

Pois se eh isso ta dando erro...


A Busca me retorna...

Encontrado...Encontrado...Encontrado...Encontrado...Encontrado...Encontrado...Encontrado...Encontrado...Encontrado...Encontrado...Total de 0 resultados encontrados




1 user(s) are reading this topic

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

IPB Skin By Virteq