Ir para conteúdo

POWERED BY:

Arquivado

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

pcclaro

[RESOLVIDO] Busca texto em arquivo

Recommended Posts

Você terá de criar um loop que abra todos os arquivos de um diretório, como neste exemplo:

http://www.php.net/manual/pt_BR/function.readdir.php

(se você usar PHP 5, veja scandir())

 

A cada repetição, use file_get_contents() para resgatar o conteúdo do arquivo. Após isso, utilize uma função para buscar o nome, como strstr() ou preg_match(), caso queira fazer uma busca mais avançada, usando ERs.

 

Abraços,

Beraldo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nuss!! isto deve ser lentoo que so vendo!! :mellow:

Você terá de criar um loop que abra todos os arquivos de um diretório, como neste exemplo:http://www.php.net/manual/pt_BR/function.readdir.php(se você usar PHP 5, veja scandir())A cada repetição, use file_get_contents() para resgatar o conteúdo do arquivo. Após isso, utilize uma função para buscar o nome, como strstr() ou preg_match(), caso queira fazer uma busca mais avançada, usando ERs.Abraços,Beraldo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Me ajudem aqui nessa parte, sou meio leigo para montar algumas funções :

 

<?php$dir = "arquivos";$dh = opendir($dir);$i=1;while (($file = readdir($dh)) !== false) {	if($file != "." && $file != "..") {			  $i++;  file_get_contents($dh,FALSE,$dir);	}}closedir($dh);?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

google trabalha assim??? c é doido? :P brincadeira :)mas é claro q ele nao trabalha assim, você fala na busca? exatamente quando você manda procurar um site?

Mas o google não trabalha assim ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas é claro q ele nao trabalha assim, você fala na busca? exatamente quando você manda procurar um site?

isso...Como funciona ? :D

 

eee tmferreira, muito bom cara, estou estudando cada caso, mas a busca ainda ta complicado pra mim. :(

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal consegui chegar até aqui, mas não funciona , me deem uma força ai

<form action="" method="get"><input type="text" name="achar"><input type="submit"></form><?$dir="/arquivos2/";$busca=@$_GET['achar']; $listar = glob($dir."/*"); foreach($listar as $conteudo){if(!is_dir($conteudo)){}$resultado = strstr(file_get_contents($conteudo/$busca));if($resultado){$resultados .= "<a href=\"$conteudo\">".strip_tags(substr($resultado, 0, -50))."</a><br>\n";}}if(isset($resultados)){print "Resultados:<br><br>\n$resultados";}else{print "Não foi localizado nada com \"$busca\".";}?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

tmferreira, obrigado pela atenção, mas não ta dando ainda, ele não ta varrendo o diretório e me retorna esse erro :Warning: Invalid argument supplied for foreach() in c:\arquivos de programas\easyphp1-8\www\minha busca\tmp5190lmq0f3.php on line 12Não foi localizado nada com "".

Compartilhar este post


Link para o post
Compartilhar em outros sites

Funcionou perfeito, valeu tmferreira, só que eu queria exibir o trecho onde contém a palavra procurada, só que não ta funcionando, olha o código:

 

 

 

<?php$dir = "testes/";$busca = "arte";$listar = glob($dir."*");$resultados = "";$q2=explode(" ",$busca);foreach($listar as $arquivo){	if (!is_dir($arquivo)) {		$conteudo = file_get_contents($arquivo);		if( strstr($conteudo, $busca) ){	   		  $conteudo = strip_tags($conteudo);		  $limite=substr($conteudo,0,20);		  $limite=strtolower($limite);			 $original=$conteudo;		 $conteudo=explode(" ",$conteudo);		 		 $j=0;		 for($a=0;$a< sizeof($q2);$a++)		 for($g=0;$g< sizeof($conteudo);$g++)		 {		   if($q2[$a])		   if($q2[$a]==$conteudo[$g])		   {		   		 $resultados .= "<a href=\"$arquivo\">$limite...</a><br>\n";	   echo "Trecho:" . " \"..." . " " . $original[$g - 2] . " " . $original[$g - 1 ] . " ";	   break;		}	}  } }}if(!empty($resultados)){	print "Resultados:<br><br>\n$resultados";}else{	print "Não foi localizado nada com \"$busca\".";}?>

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.