suriano Postado Janeiro 3, 2011 Denunciar Share Postado Janeiro 3, 2011 Boa tarde.Consegui pesquisar todos arquivos txt em um diretorio que possuem determinada palavra.O problema é que o codigo traz o texto a partir do começo do txt.Preciso que traga a partir da palavra encontrada.Obrigado.if ($ocorrencias !=0) $file=fopen("C:\\wamp\\www\\Arquivo\PDF\\$filename","r") or exit ("Unable to open file!"); $filename = str_replace("txt","pdf",$filename); $filename2 = str_replace("txt","pdf",$filename2); echo " <br><a href= ".$filename2."> $filename </a>"; echo " <br>Total de ocorrências encontradas: " . $ocorrencias . "<br>"."<br>"; $flagEncontrado=true;}; $texto=fread($file,200); echo $texto."<br>"; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 suriano Postado Janeiro 3, 2011 Autor Denunciar Share Postado Janeiro 3, 2011 estou pesquisando sobre a funcaopreg_matchserá que ajuda?????? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Livre na WEB Postado Janeiro 3, 2011 Denunciar Share Postado Janeiro 3, 2011 Tenta isto...O arquivo texto tem o seguinte textoEstou confuso e não sei onde estou.Então faça-me um favor.Me dê um mapa que eu sigo meu caminho.Muito obrigado meu amigoAté mais<?php $busca = 'então faça-me um favor'; $file = 'texto.txt'; $found = false; $handle = fopen($file, 'r'); while(!feof($handle)){ $linha = fgets($handle, 4096); if(($linha == $busca) || ($found == true)){ $found = true; $result[] = $linha; } } echo implode('<br />', $result); ?>Livre na WEBhttp://www.livrenaweb.com.br/ Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 suriano Postado Janeiro 4, 2011 Autor Denunciar Share Postado Janeiro 4, 2011 Tentei, porém esta exibindo em branco o retorno do texto.if ($ocorrencias0 !=0) { $file=fopen("C:\\wamp\\www\\Arquivos\\PDF\\$fano\\$filename","r"); $filename = str_replace("txt","pdf",$filename); $filename2 = str_replace("txt","pdf",$filename2); echo " <br><a href= ".$filename2."> ".$filename." </a>"; echo " <br>Total de ocorrências encontradas: " . $ocorrencias0 . "<br>"; $flagEncontrado=true; }; while (!feof($file)) { $linha = fgets($file,4096); //echo $linha."<br>"; // exibir todo txt } } } if(($linha == $ftexto)){ $result[] = $linha; } echo implode('<br />', $result); fclose($file); if ($flagEncontrado==false) {echo " <br>Não foi encontrada nenhuma ocorrência da palavra <b>$ftexto</b> no ano de <b>$fano</b> .<br>";} ?> </body> </html> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 suriano Postado Janeiro 4, 2011 Autor Denunciar Share Postado Janeiro 4, 2011 O codigo completo para quem puder me ajudar.<html> <head></head> <body> <?php error_reporting(0); $ftexto = $_REQUEST['ftexto']; $fano = $_REQUEST['fano']; echo "<H1> Arquivos que contenham o texto: " . $ftexto."</H1>"; $dir = "./PDF/$fano/"; $dh = opendir($dir); $flagEncontrado=false; while (false !== ($filename = readdir($dh))) { if (substr($filename,-4) == ".txt") { $filename2 = "./PDF/$fano/".$filename; $arquivo = file_get_contents($filename2); $ocorrencias0 = substr_count($arquivo, $ftexto); if ($ocorrencias0 !=0) { $file=fopen("C:\\wamp\\www\\Arquivos\\PDF\\$fano\\$filename","r"); $filename = str_replace("txt","pdf",$filename); $filename2 = str_replace("txt","pdf",$filename2); echo " <br><a href= ".$filename2."> ".$filename." </a>"; echo " <br>Total de ocorrências encontradas: " . $ocorrencias0 . "<br>"; $flagEncontrado=true; }; while (!feof($file)) // exibir todo txt { $linha = fgets($file,4096); // exibir todo txt echo $linha."<br>"; // exibir todo txt } } } fclose($file); if ($flagEncontrado==false) {echo " <br>Não foi encontrada nenhuma ocorrência da palavra <b>$ftexto</b> no ano de <b>$fano</b> .<br>";} ?> </body> </html> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 suriano Postado Janeiro 5, 2011 Autor Denunciar Share Postado Janeiro 5, 2011 Pesquisando como resolver o problema, preciso primeiramente saber como encontrar a primeira ocorrencia da String no texto.Como fazer para que o if retorne que encontrou a palavra????????? $ftexto = $_REQUEST['ftexto']; $file=fopen("C:\\wamp\\www\\Arquivo\\PDF\\$fano\\$filename","r"); while (!feof($file)) { $linha = fgets($file,4096); if ($linha == strpos??????????????????????(ftexto)) aqui está a dúvida??????????? { echo $linha."<br>";} } } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fetish Postado Janeiro 5, 2011 Denunciar Share Postado Janeiro 5, 2011 Só usar strstr ou usar preg_match e verificar que encontrou a ER. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
suriano
Boa tarde.
Consegui pesquisar todos arquivos txt em um diretorio que possuem determinada palavra.
O problema é que o codigo traz o texto a partir do começo do txt.
Preciso que traga a partir da palavra encontrada.
Obrigado.
Link para o comentário
Compartilhar em outros sites
6 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.