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

Problema na leitura de arquivo de retorno (.*RET)?


andersonrc

Pergunta

Problema na leitura de arquivo de retorno (.*RET)?

Olá pessoal,

estou implementando o algoritmo para ler um arquivo com extensão .RET, e exibir na tela, mas estou com dúvidas, mesmo estando com o layout formato CNAB240 do Banco do Brasil em mãos.

Acho que parte da lógica é a seguinte: ler o arquivo linha após linha;

capturada a linha, implementar um contador para percorrer caracter por caracter separando os dados das linhas, sucessivamente até o final do arquivo.

Dúvida 1: como implementar esse contador no código?

Dúvida 2: como fazer para que no decorrer de cada leitura de linha, ser capturado os dados e ser jogado numa variável?

Dúvida 3: como fazer para a próxima linha ser lida?

Dúvida 4: como fazer para exibir os dados na tela, pois só está sendo exibido caracteres.

Abaixo segue o código que comecei a fazer:

<?php

$lines = file("C:/wamp/www/Teste com arquivo/40000000.RET");

foreach($lines as $line_num => $line) {

$codigoBancoCompensacao = substr($line, 1, 3);

$loteServico = substr($line, 4, 7);

$registroHeaderLote = substr($line, 8, 8);

$tipoOperacao = substr($line, 9, 9);

$tipoServico = substr($line, 10, 11);

$valorAbatimento = substr($line, 181, 195);

}

echo $codigoBancoCompensacao . "<br>";

echo $loteServico . "<br>";

echo $registroHeaderLote . "<br>";

echo $tipoOperacao . "<br>";

echo $tipoServico . "<br>";

echo $valorAbatimento . "<br>";

?>

E o que está sendo exibido, da forma errada.

010

0013021

02161T 0

2161T 060

161T 060381

0000 000000000000000000000028000 18019136755

Editado por andersonrc
Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0
Problema na leitura de arquivo de retorno (.*RET)?

Olá pessoal,

estou implementando o algoritmo para ler um arquivo com extensão .RET, e exibir na tela, mas estou com dúvidas, mesmo estando com o layout formato CNAB240 do Banco do Brasil em mãos.

Acho que parte da lógica é a seguinte: ler o arquivo linha após linha;

capturada a linha, implementar um contador para percorrer caracter por caracter separando os dados das linhas, sucessivamente até o final do arquivo.

Dúvida 1: como implementar esse contador no código?

Dúvida 2: como fazer para que no decorrer de cada leitura de linha, ser capturado os dados e ser jogado numa variável?

Dúvida 3: como fazer para a próxima linha ser lida?

Dúvida 4: como fazer para exibir os dados na tela, pois só está sendo exibido caracteres.

Abaixo segue o código que comecei a fazer:

<?php

$lines = file("C:/wamp/www/Teste com arquivo/40000000.RET");

foreach($lines as $line_num => $line) {

$codigoBancoCompensacao = substr($line, 1, 3);

$loteServico = substr($line, 4, 7);

$registroHeaderLote = substr($line, 8, 8);

$tipoOperacao = substr($line, 9, 9);

$tipoServico = substr($line, 10, 11);

$valorAbatimento = substr($line, 181, 195);

}

echo $codigoBancoCompensacao . "<br>";

echo $loteServico . "<br>";

echo $registroHeaderLote . "<br>";

echo $tipoOperacao . "<br>";

echo $tipoServico . "<br>";

echo $valorAbatimento . "<br>";

?>

E o que está sendo exibido, da forma errada.

010

0013021

02161T 0

2161T 060

161T 060381

0000 000000000000000000000028000 18019136755

do jeito que está mesmo que o arquivo tenha mil linhas so vai exibir 6 linhas pois os dados são sobrepostos

caso queira a junção desses dados faça assim $variavel.=$dados;

mais acho melhor jogar em um array pois se precisar manusea-los ao decorrero do codigo ficará mais acessivel mais se for so para imprimi-los basta fazer como dito acima até mais

Link para o comentário
Compartilhar em outros sites

  • 0
Problema na leitura de arquivo de retorno (.*RET)?

Olá pessoal,

estou implementando o algoritmo para ler um arquivo com extensão .RET, e exibir na tela, mas estou com dúvidas, mesmo estando com o layout formato CNAB240 do Banco do Brasil em mãos.

Acho que parte da lógica é a seguinte: ler o arquivo linha após linha;

capturada a linha, implementar um contador para percorrer caracter por caracter separando os dados das linhas, sucessivamente até o final do arquivo.

Dúvida 1: como implementar esse contador no código?

Dúvida 2: como fazer para que no decorrer de cada leitura de linha, ser capturado os dados e ser jogado numa variável?

Dúvida 3: como fazer para a próxima linha ser lida?

Dúvida 4: como fazer para exibir os dados na tela, pois só está sendo exibido caracteres.

Abaixo segue o código que comecei a fazer:

<?php

$lines = file("C:/wamp/www/Teste com arquivo/40000000.RET");

foreach($lines as $line_num => $line) {

$codigoBancoCompensacao = substr($line, 1, 3);

$loteServico = substr($line, 4, 7);

$registroHeaderLote = substr($line, 8, 8);

$tipoOperacao = substr($line, 9, 9);

$tipoServico = substr($line, 10, 11);

$valorAbatimento = substr($line, 181, 195);

}

echo $codigoBancoCompensacao . "<br>";

echo $loteServico . "<br>";

echo $registroHeaderLote . "<br>";

echo $tipoOperacao . "<br>";

echo $tipoServico . "<br>";

echo $valorAbatimento . "<br>";

?>

E o que está sendo exibido, da forma errada.

010

0013021

02161T 0

2161T 060

161T 060381

0000 000000000000000000000028000 18019136755

do jeito que está mesmo que o arquivo tenha mil linhas so vai exibir 6 linhas pois os dados são sobrepostos

caso queira a junção desses dados faça assim $variavel.=$dados;

mais acho melhor jogar em um array pois se precisar manusea-los ao decorrero do codigo ficará mais acessivel mais se for so para imprimi-los basta fazer como dito acima até mais

Eu coloquei fora do foreach echo $lines .= $line

E é exibido um monte de caracteres um ao lado do outro

Mesmo assim obrigado, vou continuar tentando

Problema na leitura de arquivo de retorno (.*RET)?

Olá pessoal,

estou implementando o algoritmo para ler um arquivo com extensão .RET, e exibir na tela, mas estou com dúvidas, mesmo estando com o layout formato CNAB240 do Banco do Brasil em mãos.

Acho que parte da lógica é a seguinte: ler o arquivo linha após linha;

capturada a linha, implementar um contador para percorrer caracter por caracter separando os dados das linhas, sucessivamente até o final do arquivo.

Dúvida 1: como implementar esse contador no código?

Dúvida 2: como fazer para que no decorrer de cada leitura de linha, ser capturado os dados e ser jogado numa variável?

Dúvida 3: como fazer para a próxima linha ser lida?

Dúvida 4: como fazer para exibir os dados na tela, pois só está sendo exibido caracteres.

Abaixo segue o código que comecei a fazer:

<?php

$lines = file("C:/wamp/www/Teste com arquivo/40000000.RET");

foreach($lines as $line_num => $line) {

$codigoBancoCompensacao = substr($line, 1, 3);

$loteServico = substr($line, 4, 7);

$registroHeaderLote = substr($line, 8, 8);

$tipoOperacao = substr($line, 9, 9);

$tipoServico = substr($line, 10, 11);

$valorAbatimento = substr($line, 181, 195);

}

echo $codigoBancoCompensacao . "<br>";

echo $loteServico . "<br>";

echo $registroHeaderLote . "<br>";

echo $tipoOperacao . "<br>";

echo $tipoServico . "<br>";

echo $valorAbatimento . "<br>";

?>

E o que está sendo exibido, da forma errada.

010

0013021

02161T 0

2161T 060

161T 060381

0000 000000000000000000000028000 18019136755

do jeito que está mesmo que o arquivo tenha mil linhas so vai exibir 6 linhas pois os dados são sobrepostos

caso queira a junção desses dados faça assim $variavel.=$dados;

mais acho melhor jogar em um array pois se precisar manusea-los ao decorrero do codigo ficará mais acessivel mais se for so para imprimi-los basta fazer como dito acima até mais

Eu coloquei fora do foreach echo $lines .= $line

E é exibido um monte de caracteres um ao lado do outro

Mesmo assim obrigado, vou continuar tentando

Para facilitar o entendimento

os números no substr me basiei no layout

CODIGO DO BANCO NA COMPENSACAO: posição 1 até 3

LOTE DE SERVICO: posição 4 a 7

REGISTRO HEADER DE ARQUIVO: posição 8 a 8

e etc

Link para o comentário
Compartilhar em outros sites

  • 0
Problema na leitura de arquivo de retorno (.*RET)?

Olá pessoal,

estou implementando o algoritmo para ler um arquivo com extensão .RET, e exibir na tela, mas estou com dúvidas, mesmo estando com o layout formato CNAB240 do Banco do Brasil em mãos.

Acho que parte da lógica é a seguinte: ler o arquivo linha após linha;

capturada a linha, implementar um contador para percorrer caracter por caracter separando os dados das linhas, sucessivamente até o final do arquivo.

Dúvida 1: como implementar esse contador no código?

Dúvida 2: como fazer para que no decorrer de cada leitura de linha, ser capturado os dados e ser jogado numa variável?

Dúvida 3: como fazer para a próxima linha ser lida?

Dúvida 4: como fazer para exibir os dados na tela, pois só está sendo exibido caracteres.

Abaixo segue o código que comecei a fazer:

<?php

$lines = file("C:/wamp/www/Teste com arquivo/40000000.RET");

foreach($lines as $line_num => $line) {

$codigoBancoCompensacao = substr($line, 1, 3);

$loteServico = substr($line, 4, 7);

$registroHeaderLote = substr($line, 8, 8);

$tipoOperacao = substr($line, 9, 9);

$tipoServico = substr($line, 10, 11);

$valorAbatimento = substr($line, 181, 195);

}

echo $codigoBancoCompensacao . "<br>";

echo $loteServico . "<br>";

echo $registroHeaderLote . "<br>";

echo $tipoOperacao . "<br>";

echo $tipoServico . "<br>";

echo $valorAbatimento . "<br>";

?>

E o que está sendo exibido, da forma errada.

010

0013021

02161T 0

2161T 060

161T 060381

0000 000000000000000000000028000 18019136755

do jeito que está mesmo que o arquivo tenha mil linhas so vai exibir 6 linhas pois os dados são sobrepostos

caso queira a junção desses dados faça assim $variavel.=$dados;

mais acho melhor jogar em um array pois se precisar manusea-los ao decorrero do codigo ficará mais acessivel mais se for so para imprimi-los basta fazer como dito acima até mais

Eu coloquei fora do foreach echo $lines .= $line

E é exibido um monte de caracteres um ao lado do outro

Mesmo assim obrigado, vou continuar tentando

Problema na leitura de arquivo de retorno (.*RET)?

Olá pessoal,

estou implementando o algoritmo para ler um arquivo com extensão .RET, e exibir na tela, mas estou com dúvidas, mesmo estando com o layout formato CNAB240 do Banco do Brasil em mãos.

Acho que parte da lógica é a seguinte: ler o arquivo linha após linha;

capturada a linha, implementar um contador para percorrer caracter por caracter separando os dados das linhas, sucessivamente até o final do arquivo.

Dúvida 1: como implementar esse contador no código?

Dúvida 2: como fazer para que no decorrer de cada leitura de linha, ser capturado os dados e ser jogado numa variável?

Dúvida 3: como fazer para a próxima linha ser lida?

Dúvida 4: como fazer para exibir os dados na tela, pois só está sendo exibido caracteres.

Abaixo segue o código que comecei a fazer:

<?php

$lines = file("C:/wamp/www/Teste com arquivo/40000000.RET");

foreach($lines as $line_num => $line) {

$codigoBancoCompensacao = substr($line, 1, 3);

$loteServico = substr($line, 4, 7);

$registroHeaderLote = substr($line, 8, 8);

$tipoOperacao = substr($line, 9, 9);

$tipoServico = substr($line, 10, 11);

$valorAbatimento = substr($line, 181, 195);

}

echo $codigoBancoCompensacao . "<br>";

echo $loteServico . "<br>";

echo $registroHeaderLote . "<br>";

echo $tipoOperacao . "<br>";

echo $tipoServico . "<br>";

echo $valorAbatimento . "<br>";

?>

E o que está sendo exibido, da forma errada.

010

0013021

02161T 0

2161T 060

161T 060381

0000 000000000000000000000028000 18019136755

do jeito que está mesmo que o arquivo tenha mil linhas so vai exibir 6 linhas pois os dados são sobrepostos

caso queira a junção desses dados faça assim $variavel.=$dados;

mais acho melhor jogar em um array pois se precisar manusea-los ao decorrero do codigo ficará mais acessivel mais se for so para imprimi-los basta fazer como dito acima até mais

Eu coloquei fora do foreach echo $lines .= $line

E é exibido um monte de caracteres um ao lado do outro

Mesmo assim obrigado, vou continuar tentando

Para facilitar o entendimento

os números no substr me basiei no layout

CODIGO DO BANCO NA COMPENSACAO: posição 1 até 3

LOTE DE SERVICO: posição 4 a 7

REGISTRO HEADER DE ARQUIVO: posição 8 a 8

e etc

coloque dentro do laço assim ir juntar as variaves exemplo

for($i=0; $i<4; $i++)

{

$n=$i;

$n2.=$i;

}

echo $n."<br>".$n2;

$n ira imprimir 3 já o $n2 irá imprimir 0123;

Link para o comentário
Compartilhar em outros sites

  • 0
Problema na leitura de arquivo de retorno (.*RET)?

Olá pessoal,

estou implementando o algoritmo para ler um arquivo com extensão .RET, e exibir na tela, mas estou com dúvidas, mesmo estando com o layout formato CNAB240 do Banco do Brasil em mãos.

Acho que parte da lógica é a seguinte: ler o arquivo linha após linha;

capturada a linha, implementar um contador para percorrer caracter por caracter separando os dados das linhas, sucessivamente até o final do arquivo.

Dúvida 1: como implementar esse contador no código?

Dúvida 2: como fazer para que no decorrer de cada leitura de linha, ser capturado os dados e ser jogado numa variável?

Dúvida 3: como fazer para a próxima linha ser lida?

Dúvida 4: como fazer para exibir os dados na tela, pois só está sendo exibido caracteres.

Abaixo segue o código que comecei a fazer:

<?php

$lines = file("C:/wamp/www/Teste com arquivo/40000000.RET");

foreach($lines as $line_num => $line) {

$codigoBancoCompensacao = substr($line, 1, 3);

$loteServico = substr($line, 4, 7);

$registroHeaderLote = substr($line, 8, 8);

$tipoOperacao = substr($line, 9, 9);

$tipoServico = substr($line, 10, 11);

$valorAbatimento = substr($line, 181, 195);

}

echo $codigoBancoCompensacao . "<br>";

echo $loteServico . "<br>";

echo $registroHeaderLote . "<br>";

echo $tipoOperacao . "<br>";

echo $tipoServico . "<br>";

echo $valorAbatimento . "<br>";

?>

E o que está sendo exibido, da forma errada.

010

0013021

02161T 0

2161T 060

161T 060381

0000 000000000000000000000028000 18019136755

do jeito que está mesmo que o arquivo tenha mil linhas so vai exibir 6 linhas pois os dados são sobrepostos

caso queira a junção desses dados faça assim $variavel.=$dados;

mais acho melhor jogar em um array pois se precisar manusea-los ao decorrero do codigo ficará mais acessivel mais se for so para imprimi-los basta fazer como dito acima até mais

Eu coloquei fora do foreach echo $lines .= $line

E é exibido um monte de caracteres um ao lado do outro

Mesmo assim obrigado, vou continuar tentando

Problema na leitura de arquivo de retorno (.*RET)?

Olá pessoal,

estou implementando o algoritmo para ler um arquivo com extensão .RET, e exibir na tela, mas estou com dúvidas, mesmo estando com o layout formato CNAB240 do Banco do Brasil em mãos.

Acho que parte da lógica é a seguinte: ler o arquivo linha após linha;

capturada a linha, implementar um contador para percorrer caracter por caracter separando os dados das linhas, sucessivamente até o final do arquivo.

Dúvida 1: como implementar esse contador no código?

Dúvida 2: como fazer para que no decorrer de cada leitura de linha, ser capturado os dados e ser jogado numa variável?

Dúvida 3: como fazer para a próxima linha ser lida?

Dúvida 4: como fazer para exibir os dados na tela, pois só está sendo exibido caracteres.

Abaixo segue o código que comecei a fazer:

<?php

$lines = file("C:/wamp/www/Teste com arquivo/40000000.RET");

foreach($lines as $line_num => $line) {

$codigoBancoCompensacao = substr($line, 1, 3);

$loteServico = substr($line, 4, 7);

$registroHeaderLote = substr($line, 8, 8);

$tipoOperacao = substr($line, 9, 9);

$tipoServico = substr($line, 10, 11);

$valorAbatimento = substr($line, 181, 195);

}

echo $codigoBancoCompensacao . "<br>";

echo $loteServico . "<br>";

echo $registroHeaderLote . "<br>";

echo $tipoOperacao . "<br>";

echo $tipoServico . "<br>";

echo $valorAbatimento . "<br>";

?>

E o que está sendo exibido, da forma errada.

010

0013021

02161T 0

2161T 060

161T 060381

0000 000000000000000000000028000 18019136755

do jeito que está mesmo que o arquivo tenha mil linhas so vai exibir 6 linhas pois os dados são sobrepostos

caso queira a junção desses dados faça assim $variavel.=$dados;

mais acho melhor jogar em um array pois se precisar manusea-los ao decorrero do codigo ficará mais acessivel mais se for so para imprimi-los basta fazer como dito acima até mais

Eu coloquei fora do foreach echo $lines .= $line

E é exibido um monte de caracteres um ao lado do outro

Mesmo assim obrigado, vou continuar tentando

Para facilitar o entendimento

os números no substr me basiei no layout

CODIGO DO BANCO NA COMPENSACAO: posição 1 até 3

LOTE DE SERVICO: posição 4 a 7

REGISTRO HEADER DE ARQUIVO: posição 8 a 8

e etc

coloque dentro do laço assim ir juntar as variaves exemplo

for($i=0; $i<4; $i++)

{

$n=$i;

$n2.=$i;

}

echo $n."<br>".$n2;

$n ira imprimir 3 já o $n2 irá imprimir 0123;

ok, vou tentar.

Mas dessa forma, os dadoas não vão ficar colados um do lado do outro não?

Exemplo: BancodoBrasil001R$15,30

Isso se realmente for impresso na tela os dados corretamente, sem ser os caracteres

Obrigado!

Problema na leitura de arquivo de retorno (.*RET)?

Olá pessoal,

estou implementando o algoritmo para ler um arquivo com extensão .RET, e exibir na tela, mas estou com dúvidas, mesmo estando com o layout formato CNAB240 do Banco do Brasil em mãos.

Acho que parte da lógica é a seguinte: ler o arquivo linha após linha;

capturada a linha, implementar um contador para percorrer caracter por caracter separando os dados das linhas, sucessivamente até o final do arquivo.

Dúvida 1: como implementar esse contador no código?

Dúvida 2: como fazer para que no decorrer de cada leitura de linha, ser capturado os dados e ser jogado numa variável?

Dúvida 3: como fazer para a próxima linha ser lida?

Dúvida 4: como fazer para exibir os dados na tela, pois só está sendo exibido caracteres.

Abaixo segue o código que comecei a fazer:

<?php

$lines = file("C:/wamp/www/Teste com arquivo/40000000.RET");

foreach($lines as $line_num => $line) {

$codigoBancoCompensacao = substr($line, 1, 3);

$loteServico = substr($line, 4, 7);

$registroHeaderLote = substr($line, 8, 8);

$tipoOperacao = substr($line, 9, 9);

$tipoServico = substr($line, 10, 11);

$valorAbatimento = substr($line, 181, 195);

}

echo $codigoBancoCompensacao . "<br>";

echo $loteServico . "<br>";

echo $registroHeaderLote . "<br>";

echo $tipoOperacao . "<br>";

echo $tipoServico . "<br>";

echo $valorAbatimento . "<br>";

?>

E o que está sendo exibido, da forma errada.

010

0013021

02161T 0

2161T 060

161T 060381

0000 000000000000000000000028000 18019136755

do jeito que está mesmo que o arquivo tenha mil linhas so vai exibir 6 linhas pois os dados são sobrepostos

caso queira a junção desses dados faça assim $variavel.=$dados;

mais acho melhor jogar em um array pois se precisar manusea-los ao decorrero do codigo ficará mais acessivel mais se for so para imprimi-los basta fazer como dito acima até mais

Eu coloquei fora do foreach echo $lines .= $line

E é exibido um monte de caracteres um ao lado do outro

Mesmo assim obrigado, vou continuar tentando

Problema na leitura de arquivo de retorno (.*RET)?

Olá pessoal,

estou implementando o algoritmo para ler um arquivo com extensão .RET, e exibir na tela, mas estou com dúvidas, mesmo estando com o layout formato CNAB240 do Banco do Brasil em mãos.

Acho que parte da lógica é a seguinte: ler o arquivo linha após linha;

capturada a linha, implementar um contador para percorrer caracter por caracter separando os dados das linhas, sucessivamente até o final do arquivo.

Dúvida 1: como implementar esse contador no código?

Dúvida 2: como fazer para que no decorrer de cada leitura de linha, ser capturado os dados e ser jogado numa variável?

Dúvida 3: como fazer para a próxima linha ser lida?

Dúvida 4: como fazer para exibir os dados na tela, pois só está sendo exibido caracteres.

Abaixo segue o código que comecei a fazer:

<?php

$lines = file("C:/wamp/www/Teste com arquivo/40000000.RET");

foreach($lines as $line_num => $line) {

$codigoBancoCompensacao = substr($line, 1, 3);

$loteServico = substr($line, 4, 7);

$registroHeaderLote = substr($line, 8, 8);

$tipoOperacao = substr($line, 9, 9);

$tipoServico = substr($line, 10, 11);

$valorAbatimento = substr($line, 181, 195);

}

echo $codigoBancoCompensacao . "<br>";

echo $loteServico . "<br>";

echo $registroHeaderLote . "<br>";

echo $tipoOperacao . "<br>";

echo $tipoServico . "<br>";

echo $valorAbatimento . "<br>";

?>

E o que está sendo exibido, da forma errada.

010

0013021

02161T 0

2161T 060

161T 060381

0000 000000000000000000000028000 18019136755

do jeito que está mesmo que o arquivo tenha mil linhas so vai exibir 6 linhas pois os dados são sobrepostos

caso queira a junção desses dados faça assim $variavel.=$dados;

mais acho melhor jogar em um array pois se precisar manusea-los ao decorrero do codigo ficará mais acessivel mais se for so para imprimi-los basta fazer como dito acima até mais

Eu coloquei fora do foreach echo $lines .= $line

E é exibido um monte de caracteres um ao lado do outro

Mesmo assim obrigado, vou continuar tentando

Para facilitar o entendimento

os números no substr me basiei no layout

CODIGO DO BANCO NA COMPENSACAO: posição 1 até 3

LOTE DE SERVICO: posição 4 a 7

REGISTRO HEADER DE ARQUIVO: posição 8 a 8

e etc

coloque dentro do laço assim ir juntar as variaves exemplo

for($i=0; $i<4; $i++)

{

$n=$i;

$n2.=$i;

}

echo $n."<br>".$n2;

$n ira imprimir 3 já o $n2 irá imprimir 0123;

ok, vou tentar.

Mas dessa forma, os dadoas não vão ficar colados um do lado do outro não?

Exemplo: BancodoBrasil001R$15,30

Isso se realmente for impresso na tela os dados corretamente, sem ser os caracteres

Obrigado!

agora vi o <br> vou tentar mais uma vez

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,5k
×
×
  • Criar Novo...