Ir para conteúdo
Fórum Script Brasil
  • 0

Busca em txt trazendo a partir da linha encontrada


suriano

Pergunta

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>";

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Tenta isto...

O arquivo texto tem o seguinte texto

Estou 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 amigo

Até 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 WEB

http://www.livrenaweb.com.br/

8xP.jpg

Link para o comentário
Compartilhar em outros sites

  • 0

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>

Link para o comentário
Compartilhar em outros sites

  • 0

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>

Link para o comentário
Compartilhar em outros sites

  • 0

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>";}  
     }
     }

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...