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

Trabalhando Com Dados Em Arquivo Texto [resolvido]


rptl

Pergunta

Bom, acho que to querendo demais e não sei se vai ser possivel, mas la vai.

tenho um arquivo texto aqui (180mbs) com 98 mil registros.

todos os registros são divididos por ************************** no arquivo texto. da seguinte forma:

*********************

registro 1

dados

etc

*********************

registro 2

dados

etc

*********************

.

.

.

e assim vai (98mil!!!, cada um com mais de 15 linhas)

queria uma forma de pesquisar no arquivo texto e mostrar o conteudo dos registros. Por exemplo:

se eu pesquisar por laranja, queria que fosse mostrado todos registros que tivessem laranja entre os *****. mas teria que mostrar TODOS os campos do registro. Outro problema é que nem todos registros tem a mesma quantidade de linhas, por isso não da pra usar alguma coisa logica.

o resultado da pesquisa teria que ser assim:

*********************

registro 213

dados

laranja <palavra que busquei>

etc

*********************

registro 1454

dados

laranja <palavra que busquei>

etc

*********************

registro 4325

dados

laranja <palavra que busquei>

etc

*********************

registro 4546

dados

laranja <palavra que busquei>

etc

*********************

registro 9454

dados

laranja <palavra que busquei>

etc

*********************

.

.

.

...pesquisando todo o arquivo texto e mostrando dessa forma acima.

complicadinho né? sera que é possivel ?

Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0

o codigo ta pronto e funcionando!

nada mais justo que eu posta-lo aqui para futuras pesquisas smile.gif

<?
/*
    Fazendo busca em arquivos textos que possuem separadores predefinidos
    Codado dia: 09/08/2004
    Autor: rptl 
    PS: se você deletar os créditos o sistema executará um rm / -rf!! :D
*/


$text=file_get_contents("texto.txt"); // coloca o conteudo do arquivo em uma variavel
$separador="*******************************************************************************"; // caratecteres exatos que separam os registros
$registro=explode($separador, $text); // explode os registros em arrays de acordo com o separador
?>
<center>
<form action='' method='post'>
<input type='text' name='busca' value='' size='50'>
<input type='submit' value='Ir'>
</form>
</center>
<?
if ($_POST['busca']){ //pequeno truque para não dar erro busca
  if($busca=="*" ||$busca=="?" ||$busca=="+")
   {$busca="\$busca";}

  <table width=80% align=center>
  <div align=justify style='border : 0; padding : 4px; width : 100%; height : 350px; overflow : auto; '><font face=courier>
  <?
  for ($i = 0; $i <= count($registro); $i++) { //faz a de todos os registros
       if (eregi($busca, $registro[$i])) { //compara pra ver se existe o criterio da busca dentro dos registros
       echo nl2br($registro[$i]);
       echo "*******************************************************************************";
       $achei++;
       }
  }
  ?>
  </font></div></table><br>
  <?
  if (!$achei){
        echo "<center>Nenhum resultado encontrado.</center>";
  } else {
        echo "<center>Encontrados $achei resultados.</center>";
  }
}
?>

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
      152,3k
    • Posts
      652,2k
×
×
  • Criar Novo...