Ir para conteúdo

POWERED BY:

Arquivado

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

Ramon Melo

Arquivos TXT

Recommended Posts

Meu professor tentou me ajudar de assim:

Vi que existe text=a, b, c, como você pretende controlar essas variações. Porque o seguinte:

01 - Buscar a posição da palavra test=

02 - A partir dessa posição contar 2 caracteres ( que seria o resultado do teste )

03 - Ai buscar o codigo do teste em um switch

04 - E realizar a ação q for necessaria

 

Porém quando for os testes compostos "Test=TOXM BK,TOXOG" ou "Test=22,23" ai qual será a lógica? Tenta buscar a posição da palavra que vem depois de test=, se n me engano é Result=. Ai faz assim:

 

01 - Buscar a posição da palavra test=

02 - Buscar a posição da palavra Result=

03 - Pega tudo o que tiver no meio dessas duas posições, joga em uma variavel

04 - Quebra essa variavel em um array

05 - Percorre o array substituindo com os valores desejados

06 - Transforma o array novamente em string

07 - Grava o texto atualizado;

------------------------------------------------------------------------------------------------------------------------------------------

 

Só não consigo visualizar como vou pegar tudo que tem no meio dessas 2 posições e jogar dentro de uma variável. Se eu souber disso, quebrar a variável e jogar em um array eu sei (posso da um explode usando a “,” como parâmetro, creio que seja assim). Ai acho que vai da certo! Então, como eu poderia pegar tudo que tem no meio dessas 2 posições (pegar a posição de cada um eu sei).

Outra coisa que estou com duvida.. Como faço para que se o .txt tiver linhas em branco, eu excluir essas linhas? Tem alguma função que quebre o .txt em linhas guardando em um array? Porque ai era só eu colocar um for sei la, e percorresse todo o array para que verificasse, se fosse vazio eu excluia. Isso blza.

 

E a ultima coisa que iria faltar seria trocar a que tem o Name= com a linha que tem Id= .

 

Valeu galera, qualquer ajuda ta sendo valida!!! Agradeço sempre!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera vou postar uma ajuda que um parceiro de outro forum me deu, pra ver alguem pode me ajudar!!

1º POST DELE:

Use o comando file() para ler o conteudo do arquivo. Ele vai gerar um array com as linhas.

 

de um foreach no resultado para varrer linha a linha, dando um explode() na linha pelo separador = , entendeu?

 

O array[0] será sua chave e o array[1] o valor do conteudo.

 

instancie um NOVO array com esses valores tendo chave e valor montando seu arrayzao associativo e voilá.. ta feito sua leitura do arquivão texto...

 

 

 

Para fazer o comparativo dos arrays, aconselho voce a criar um classe so para fazer esse parser..

2º POST DELE:

 

Nao fera!

No exemplo acima o array[0] seria referente a chave do explode() e o array[1] referente ao resultado do explode().

Quando você fizer um arr[array[0]]=array[1] do explode ele vai ficar um array associativo do tipo como se eu fizesse:

 

 

arr['Name']='MARGANETE MARIA DA CONCEIÇÃO';

arr['Id']='2000069702';

arr['Code']='';

arr['Ward']='';

arr['conteudo inapropriado']='F';

arr['B_Day']='01';

arr['B_Month']='01';

arr['B_Year']='1983';

 

 

Veja bem.. não é pra fazer dessa forma aí em cima.. E sim, tem q ficar com essa estrutura!!

 

isso mesmo.. quando terminar um bloco desses, voce usa uma flag pra colocar em um array separado assim:

 

$resultado[] = $arr;

Ao fim do foreach voce terá um array $resultado da seguinte forma:

 

$resultado[0]['Name']='MARGANETE MARIA DA CONCEIÇÃO';

$resultado[0]['Id']='2000069702';

.

.

.

$resultado[1]['Name']='FULANA';

$resultado[1]['Id']='9999902';

.

.

.

$resultado[2]['Name']='SICRANA';

$resultado[2]['Id']='208888882';

.

.

.

 

Com seus dados organizados tipo uma matriz simples.. da mesma forma q uma consulta simples ao banco..

-> Aqui veio minha resposta hehehe!!

 

Eesse resultado era tudo que eu queria, mas vamos ver se eu consigo alguma coisa..por exemplo:

 


 

}

linenums:0'>$arquivo = file("arquivo.txt");foreach ($arquivo as $txt) {$exp = explode('=', $txt);}

Ta no caminho isso? euiasheuiahui..

 

Não entendi muito bem quando falou assim:

O array[0] será sua chave e o array[1] o valor do conteudo.

instancie um NOVO array com esses valores tendo chave e valor montando seu arrayzao associativo e voilá.. ta feito sua leitura do arquivão texto...

Não entendo muito quando fala sobre chave e valor do explode..

Kct vei, foi mal o aperreiO!! É que to inciando mesmo hehehe.. mas po, valeu mto pela força irmao!!

 

abraços!! valeu quem puder ajudar

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.