Marcos Vinicius Mocelin Postado Fevereiro 16, 2014 Denunciar Share Postado Fevereiro 16, 2014 Pessoal, abaixo esta um script para ler um arquivo txt separado por ";" Oque eu preciso é inserir os dados do array no banco firebird, mas não estou conseguindo. <?php //campos do banco $fields = array('NOME', 'ENDERECO', 'PROXIMO', 'BAIRRO', 'CIDADE', 'DATACADASTRO', 'REFBANCARIA', 'REFCOMERCIAL', 'ULTIMAVENDA', 'EMAIL', 'RG', 'EST_CIVIL', 'NASCIMENTO', 'FILIACAO', 'TRABALHOCONJUGE', 'IE', 'LOCALCOBRANCA', 'CARGO', 'SALARIO', 'SEPROCADO_POR', 'ESTADO', 'SEPROCADO', 'CODIGO', 'PESSOA', 'SEXO', 'LOCALENTREGA', 'LOCALTRABALHO', 'COMENTARIOS', 'NASCIMENTOCONJUGE', 'CONJUGE', 'NATURALIDADE', 'CEP', 'CPF', 'CNPJ', 'TELEFONE1', 'TELEFONE2', 'FAX', 'CONTATO', 'INSCRMUN', 'SITE', 'FANTASIA', 'BLOQUEADO_PARA_VENDAS_PRAZO', 'LIM_CRED', 'ATIVO', 'ARQ_FOTO', 'CELULAR', 'COMPLEMENTO_ENDER', 'COD_MUN_IBGE', 'CLASSE', 'TRANSPORTADORA', 'FONE3', 'NUMERO_RUA', 'CODIGOADIC_REFER', 'COD_PAIS', 'SUFRAMA', 'IDICADOR_IE'); $rows = array(); //Codificação para leitura do arquivo. if (!($file = fopen('/home/marcos/Documentos/Documentos/Projetos/importador_de_dados/teste.txt','r'))) echo 'Erro ao abrir arquivo: /home/marcos/Documentos/Documentos/Projetos/importador_de_dados/teste.txt'; if ($file) { while (!feof($file)) { $buffer = fgets($file); $rows[] = explode(';',$buffer); } print_r($rows); echo '<br><br>'; fclose($file); //Codificação para inserção no banco. if (!($db=ibase_connect('localhost:/home/marcos/Documentos/Documentos/Projetos/importador_de_dados/InfoLivre.FDB', 'sysdba', 'masterkey', 'utf-8'))) echo 'Erro ao conectar: ' . ibase_errmsg() . ibase_errcode(); $i = 0; $inserts = array(); foreach($rows as $row) { $insert = array(); foreach($row as $value) { $insert[$fields[$i]] = $value; $i++; } $inserts[] = $insert; $i = 0; } print_r($inserts); ?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Markus Magnus Postado Março 22, 2014 Denunciar Share Postado Março 22, 2014 Acredito que isso resolva o problema de organizar os dados. <?php $fields = array('NOME', 'ENDERECO', 'PROXIMO', 'BAIRRO', 'CIDADE', 'DATACADASTRO', 'REFBANCARIA', 'REFCOMERCIAL', 'ULTIMAVENDA', 'EMAIL', 'RG', 'EST_CIVIL', 'NASCIMENTO', 'FILIACAO', 'TRABALHOCONJUGE', 'IE', 'LOCALCOBRANCA', 'CARGO', 'SALARIO', 'SEPROCADO_POR', 'ESTADO', 'SEPROCADO', 'CODIGO', 'PESSOA', 'SEXO', 'LOCALENTREGA', 'LOCALTRABALHO', 'COMENTARIOS', 'NASCIMENTOCONJUGE', 'CONJUGE', 'NATURALIDADE', 'CEP', 'CPF', 'CNPJ', 'TELEFONE1', 'TELEFONE2', 'FAX', 'CONTATO', 'INSCRMUN', 'SITE', 'FANTASIA', 'BLOQUEADO_PARA_VENDAS_PRAZO', 'LIM_CRED', 'ATIVO', 'ARQ_FOTO', 'CELULAR', 'COMPLEMENTO_ENDER', 'COD_MUN_IBGE', 'CLASSE', 'TRANSPORTADORA', 'FONE3', 'NUMERO_RUA', 'CODIGOADIC_REFER', 'COD_PAIS', 'SUFRAMA', 'IDICADOR_IE'); $linhas = file('/home/marcos/Documentos/Documentos/Projetos/importador_de_dados/teste.txt'); foreach($linhas as $nlinha => $linha) { $dados = explode(';', $linha); foreach ($dados as $ndado => $dado) { $inserts[$nlinha][$fields[$ndado]] = $dado; } } print_r($inserts); Mas nunca usei firebird, então não posso te ajudar com o INSERT em si. Abraços tudo de bom. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Marcos Vinicius Mocelin
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
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.