pcclaro 0 Denunciar post Postado Agosto 8, 2007 Pessoal, alguem poderia me ajudar a criar um sistema de busca simples, que busque o texto nos arquivos de um diretório ?? Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Agosto 8, 2007 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
Alexsandro XPT 0 Denunciar post Postado Agosto 8, 2007 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
Beraldo 864 Denunciar post Postado Agosto 8, 2007 Se forem muitos arquivos, ficará lento mesmo. Não conheço uma forma mais rápida e acho que não há mesmo. Compartilhar este post Link para o post Compartilhar em outros sites
pcclaro 0 Denunciar post Postado Agosto 8, 2007 Mas o google não trabalha assim ? Compartilhar este post Link para o post Compartilhar em outros sites
pcclaro 0 Denunciar post Postado Agosto 9, 2007 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
Alexsandro XPT 0 Denunciar post Postado Agosto 9, 2007 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
pcclaro 0 Denunciar post Postado Agosto 9, 2007 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
pcclaro 0 Denunciar post Postado Agosto 12, 2007 Pessoal me ajudem ai por favor Compartilhar este post Link para o post Compartilhar em outros sites
pcclaro 0 Denunciar post Postado Agosto 13, 2007 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
pcclaro 0 Denunciar post Postado Agosto 13, 2007 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
pcclaro 0 Denunciar post Postado Agosto 14, 2007 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
pcclaro 0 Denunciar post Postado Agosto 14, 2007 Obrigado tmferreira http://forum.imasters.com.br/public/style_emoticons/default/joia.gif , consegui Compartilhar este post Link para o post Compartilhar em outros sites