Jump to content


Photo

Distrinchar Um Arquivo De Remessa Txt E Distribuir Os Dados Num Boleto


  • Faça o login para participar
13 replies to this topic

#1 Allisson

Allisson

    12 Horas

  • Usuários
  • 239 posts
  • Sexo:Masculino
  • Localidade:Alagoas
  • Interesses:PHP

Posted 18/08/2009, 10:30

Olá pessoal gostaria de saber como distrinchar um arquivo txt no php e pegar cada dado e distribuir dentro de um boleto bancário
o arquivo txt é um arquivo de remessa e o mesmo está dentro das normas do layout CNAB - FEBRABAN.

Obs.: O que eu quero eh abrir o txt e ler por exemplo: do caractere 1 ao 3 é um dado do 4 ao 7 outro dado e sair separando esses dados e colocando em variáveis. Tem condições de isto ser feito?

Aguardo desde já respostas obrigado a todos! (y)


Alguém aqui já trabalhou com sistema de cobrança eletrônica?
se sim preciso de ajuda muita ajuda :D

Até mais.

Segue em anexo o modelo de arquivo de remessa que quero distrinchar e distribuir os dados no boleto bancário.
Attached File  E1600062.REM.zip   531bytes   102 downloads

Edição feita por: Allisson, 18/08/2009, 14:39.

Allisson Rafael de Brito Araujo

Devagar e sempre. Se Deus é por nós, quem será contra nós?

#2 Tonini

Tonini

    12 Horas

  • Usuários
  • 130 posts
  • Sexo:Masculino

Posted 18/08/2009, 15:26

Allisson,

Dê uma olhada nesse tópico:
http://forum.wmonlin...howtopic=222877

E citando o CMAC:
"se fgets para ler uma linha inteira, depois separa os dados da linha usando substr."
CalvinBall.
Any player may declare a new rule at any point in the game.
The player may do this audibly or silently...

#3 Allisson

Allisson

    12 Horas

  • Usuários
  • 239 posts
  • Sexo:Masculino
  • Localidade:Alagoas
  • Interesses:PHP

Posted 19/08/2009, 09:55

Bom eu consegui ler o txt e pegar os dados que estão dentro dele mas outra duvida que está me tirando o juízo é: espaço em branco ele conta como caractere tbm? Valew a todos! Aguardo respostas desde já!
Allisson Rafael de Brito Araujo

Devagar e sempre. Se Deus é por nós, quem será contra nós?

#4 Camarão

Camarão

    12 Horas

  • Usuários
  • 123 posts
  • Sexo:Masculino
  • Localidade:Divinópolis

Posted 19/08/2009, 11:05

Sim , o espaço em branco conta como um caracter sim
testa ae
<?php
echo (substr("			  123", 5, 11));
?>

<?php echo("Guilherme Marques Eloi"); ?>

#5 Allisson

Allisson

    12 Horas

  • Usuários
  • 239 posts
  • Sexo:Masculino
  • Localidade:Alagoas
  • Interesses:PHP

Posted 19/08/2009, 14:31

Teria alguma função para remover os espaços em branco ou não existe?
Allisson Rafael de Brito Araujo

Devagar e sempre. Se Deus é por nós, quem será contra nós?

#6 Tonini

Tonini

    12 Horas

  • Usuários
  • 130 posts
  • Sexo:Masculino

Posted 19/08/2009, 15:04

Para remover todos os espaços em branco use o replace.

VOcê também por usar o trim, rtrim e ltrim.
CalvinBall.
Any player may declare a new rule at any point in the game.
The player may do this audibly or silently...

#7 Allisson

Allisson

    12 Horas

  • Usuários
  • 239 posts
  • Sexo:Masculino
  • Localidade:Alagoas
  • Interesses:PHP

Posted 20/08/2009, 11:06

Para remover todos os espaços em branco use o replace.

VOcê também por usar o trim, rtrim e ltrim.



consegui remover os espaços e tudo mas agora a minha duvida é a seguinte o txt que estou distrinchando os dados segue o seguinte padrão da linha 1 a 2 é os dados do banco, da linha 3 a 4 de um cliente da linha 5 a 6 de outro e assim podendo ter X clientes teria como eu contar quantas linhas existem no meu txt e fazer um loop para dividir certinho todos os clientes? Aguardo respostas, Obrigado a todos!
Allisson Rafael de Brito Araujo

Devagar e sempre. Se Deus é por nós, quem será contra nós?

#8 Tonini

Tonini

    12 Horas

  • Usuários
  • 130 posts
  • Sexo:Masculino

Posted 20/08/2009, 13:45

Você faz um while para ele ler até acabar o arquivo.
As duas primeiras leituras são os dados do banco e as demais os dados dos clientes, até acabar o arquivo.
CalvinBall.
Any player may declare a new rule at any point in the game.
The player may do this audibly or silently...

#9 Allisson

Allisson

    12 Horas

  • Usuários
  • 239 posts
  • Sexo:Masculino
  • Localidade:Alagoas
  • Interesses:PHP

Posted 20/08/2009, 14:23

Você faz um while para ele ler até acabar o arquivo.
As duas primeiras leituras são os dados do banco e as demais os dados dos clientes, até acabar o arquivo.


certo mas para que eu possa dividir exemplo:

foi feita as 2 primeiras leituras opa!! Maravilha! como eu posso dividir esses dados?
como por exemplo: colocar um titulo informando que as duas primeiras linhas são dos banco ou até mesmo colocaklas em variáveis?


Alguma sugestão?
Allisson Rafael de Brito Araujo

Devagar e sempre. Se Deus é por nós, quem será contra nós?

#10 Tonini

Tonini

    12 Horas

  • Usuários
  • 130 posts
  • Sexo:Masculino

Posted 20/08/2009, 19:09

Dividir??

--

Quando você usa um while você vai ter um contador, correto?
Ai você consegue saber qual é a linha...Sabendo qual a linha você faz o que quiser com elas ;-)

Para separar os dados você verifica o contador.
Se ele for <= 2 vai separar os dados de uma forma.
Se ele foir >2 de outra.

É isso?
CalvinBall.
Any player may declare a new rule at any point in the game.
The player may do this audibly or silently...

#11 Allisson

Allisson

    12 Horas

  • Usuários
  • 239 posts
  • Sexo:Masculino
  • Localidade:Alagoas
  • Interesses:PHP

Posted 20/08/2009, 23:24

Dividir??

--

Quando você usa um while você vai ter um contador, correto?
Ai você consegue saber qual é a linha...Sabendo qual a linha você faz o que quiser com elas ;-)

Para separar os dados você verifica o contador.
Se ele for <= 2 vai separar os dados de uma forma.
Se ele foir >2 de outra.

É isso?



é maiso ou menos isso :D agora tbm tenho que saber quantas linhas tenho no txt no total
Allisson Rafael de Brito Araujo

Devagar e sempre. Se Deus é por nós, quem será contra nós?

#12 Camarão

Camarão

    12 Horas

  • Usuários
  • 123 posts
  • Sexo:Masculino
  • Localidade:Divinópolis

Posted 21/08/2009, 00:03

Vou te indicar alguns links as vezes ajuda
esse primeiro link acho q vai te atender
http://www.mxstudio....showtopic=73843

http://www.revistaph...artigo.php?id=5
http://www.samuelcor...quivos_php.html
<?php echo("Guilherme Marques Eloi"); ?>

#13 Allisson

Allisson

    12 Horas

  • Usuários
  • 239 posts
  • Sexo:Masculino
  • Localidade:Alagoas
  • Interesses:PHP

Posted 21/08/2009, 09:58

Pessoal , eu consegui colocar o txt em uma array e exibir o mesmo com os números de linhas, sendo que....
quero tratar cada linha dessa agora lendo os caracteres alguem sabe como posso fazer isso? desde já obrigado a todos!

Estou muito confuso em relação a isto pois nunca precisei quebrar a cabeça com manipulação de txt com php mas sempre tem a primeira vez e conto com a ajuda de vocês Obrigado a disposição de todos e camarão valew pela dica se puder ajudar mais ficarei muito grato!

Segue abaixo o código fonte de como consegui ler o txt e coloca-lo em array e exibir as linhas numeradas.

<?php
// Lê um arquivo em um array. 
$lines = file ('caixa.REM');

// Percorre o array, mostrando os dados do txt com os números de linhas
foreach ($lines as $line_num => $line) {
	echo "Linha #<b>{$line_num}</b> : " . htmlspecialchars($line) . "<br>\n";
}
?>

Como citado acima agora quero pegar cada 2 linha dessas e tratálas (separar os dados) e distribuilos em um boleto.
POrque a cada 2 linhas eh o dado de um cliente e do banco.


Aqui o link de exemplo do script com o código acima.
www.2pixel.com.br/allissonbrito/txt
Allisson Rafael de Brito Araujo

Devagar e sempre. Se Deus é por nós, quem será contra nós?

#14 pichnoff

pichnoff

    Novato no fórum

  • Usuários
  • 1 posts
  • Sexo:Masculino

Posted 07/12/2009, 14:35

Allisson,

vc sabe qual é o layout desse arquivo, ou seja, a que cada campo ou linha corresponde ? Eu estou precisando gerar esse arquivo, mas a documentação do banco é bem confusa ... a propósito, o arquivo que vc disponibilizou está corrompido e eu não consegui abrir ...

Aguardo resposta !

Vlw !




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq