_vina 0 Denunciar post Postado Fevereiro 21, 2007 eu tenho um arquivo de txt que preciso ler para exercultar o meu PHP antes eu usava um "seperador" para indentificar oq era oq !!! agora num novo cliente mando um txt + ele não tem nenhum tipo de "separador" ele funciona + ou - assim 1 = novo lote 2 = continuação 3 = fim do lote ae tudo bem + depois complica pq veja o txt 1W48667 61213162803131220060EC00 0020h02816000200000000102491000012000000001255420000220000000013464300001200000000158212000032000000001597310000120000000016218000004200000000176727000032000000005074830000620000000050974500004200000000519603000083 61213162803000100000000033cada linha tem 75 caracter eu tenho q ler caracter por caracter para saber oq é oq alguem tem ideia como posso ler caracter por caracter ??? http://forum.imasters.com.br/public/style_emoticons/default/assobiando.gif Compartilhar este post Link para o post Compartilhar em outros sites
Tellys Castro 12 Denunciar post Postado Fevereiro 21, 2007 hehe eu tenhose cada linha tem 75 caracteres faz um loop com limite de 75 voltas e pra cada $iex.: $var[$i] // ex nome[1] ai você tem 75 variaveis por linha e faz o q quiser com elas Compartilhar este post Link para o post Compartilhar em outros sites
_vina 0 Denunciar post Postado Fevereiro 22, 2007 o problema não é esse hehe o problema é isso 20000000010249100001 - ler essa linha 2|000000001|02491|00001 - assim se ela tivese separação hehehe + não tem e não sei como ler sem a separação hehehe http://forum.imasters.com.br/public/style_emoticons/default/assobiando.gif Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Fevereiro 22, 2007 use file() e substr() Compartilhar este post Link para o post Compartilhar em outros sites
Tellys Castro 12 Denunciar post Postado Fevereiro 22, 2007 como assim ler com separaçao, você quer separar em substrings? Compartilhar este post Link para o post Compartilhar em outros sites
PauloRJ 4 Denunciar post Postado Fevereiro 22, 2007 Eu uso sbstr. Faço o mesmo processo que você deseja: $caminho = $dir . "/" . $arq; // Abrir o arquivo que subiu $handle = fopen ($caminho, "r");while (!feof ($handle)) { $buffer = fgets($handle, 4096); $ano = substr($buffer, 0, 4); $dt_mov = substr($buffer, 4, 8); $num_pro = substr($buffer, 12, 10); $seq = substr($buffer, 22, 3); $dt_pro = substr($buffer, 25, 8); $num_cla = substr($buffer, 33, 10); $dt_cla = substr($buffer, 43, 8); $cod_ass = substr($buffer, 51, 6); $assunto = substr($buffer, 57, 254); $cod_gru = substr($buffer, 311, 3); $cod_item = substr($buffer, 314, 3); $cod_org = substr($buffer, 317, 2); $cod_uo = substr($buffer, 319, 2); $cod_fun = substr($buffer, 321, 2); $cod_sfun = substr($buffer, 323, 3); $cod_pgm = substr($buffer, 326, 4); $cod_pa = substr($buffer, 330, 1); $cod_npa = substr($buffer, 331, 3); $cod_des = substr($buffer, 334, 8); $cod_fnt = substr($buffer, 342, 3); $cod_tip = substr($buffer, 345, 2); $bd4 = new MySql; $sql4 = "INSERT INTO tabela (ano, dt_mov, num_pro, seq, dt_pro, num_cla, dt_cla, cod_ass, assunto, cod_gru, cod_item, cod_org, cod_uo, cod_fun, cod_sfun, cod_pgm, cod_pa, cod_npa, cod_des, cod_fnt, cod_tip, vl_cla, username, data) VALUES ('$ano', '$dt_mov', '$num_pro', '$seq', '$dt_pro', '$num_cla', '$dt_cla', '$cod_ass', '$assunto', '$cod_gru', '$cod_item', '$cod_org', '$cod_uo', '$cod_fun', '$cod_sfun', '$cod_pgm', '$cod_pa', '$cod_npa', '$cod_des', '$cod_fnt', '$cod_tip', '$vl_cla', '$username', '$data') "; $bd4->query($sql4); }fclose ($handle);?> Meu txt é grande, como pode perceber pelo substr e não tenho problema desde que as colunas são fixas. PS: Seta um tamanho do campo, por exemplo, se o campo usuario tenha 50 caracteres ele sempre sera 50, mesmo q so tenha 10 caracteres, entende? Faça colunas fixas e não tera problemas. Pois se for ôba, ôba você vai ter problemas pq nao tem como identificar que o nome tem 10 caracteres ou 30, 50 entende? espero ter ajudado, dúvidas posta seu codigo aê. Abraços! Compartilhar este post Link para o post Compartilhar em outros sites