Daniel A 0 Denunciar post Postado Setembro 27, 2017 Boa tarde a todos, tenho um projeto onde tenho que importar um csv para dentro do banco ..... meu código faz certinho só que o arquivo vem com o cabeçalho na primeira linha .... e não estou conseguindo montar a parte de exclusão dessa linha .... alguém pode me ajudar ....segue código abaixo : HTML> <HEAD> <TITLE>Manipulação de Arquivos</TITLE> </HEAD> <BODY> <?php //conexão com o banco de dados $connection = new PDO("mysql:host=localhost;dbname=txdoc", "root", ""); $arquivo = $_FILES["file"]["tmp_name"]; $nome = $_FILES["file"]["name"]; $ext = explode(".", $nome); $extensao = end($ext); if ($extensao != "csv"){ echo "Extenção Inválida"; }else { $objeto = fopen($arquivo,'r'); while (($dados = fgetcsv($objeto, 10000, ";")) !== FALSE) { $data = utf8_encode($dados[0]); $nome_port = utf8_encode($dados[2]); $num_func = utf8_encode($dados[3]); $num_cart = utf8_encode($dados[4]); $cont_mae = utf8_encode($dados[5]); $tip_trans = utf8_encode($dados[6]); $descr = utf8_encode($dados[7]); $cred_deb = utf8_encode($dados[8]); $nome_moeda = utf8_encode($dados[9]); $cod_moeda = utf8_encode($dados[10]); $r_estb = utf8_encode($dados[11]); $local = utf8_encode($dados[12]); $val_trans = utf8_encode($dados[13]); $val_dollar = utf8_encode($dados[14]); $nome_ciaaerea = utf8_encode($dados[15]); $nome_pass = utf8_encode($dados[16]); $bilhete1 = utf8_encode($dados[17]); $bilhete2 = utf8_encode($dados[18]); $bilhete3 = utf8_encode($dados[19]); $bilhete4 = utf8_encode($dados[20]); $cod_iata = utf8_encode($dados[21]); $c_custo = utf8_encode($dados[22]); $cnpj = utf8_encode($dados[23]); $val_reais = utf8_encode($dados[24]); $stmt = $connection->prepare("INSERT INTO import (data,nome_port,num_func,num_cart,cont_mae,tip_trans,descr,cred_deb,nome_moeda,cod_moeda,r_estb,local,val_trans,val_dollar,nome_ciaaerea,nome_pass,bilhete1,bilhete2,bilhete3,bilhete4,cod_iata,c_custo,cnpj,val_reais) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"); $stmt->bindParam(1, $data); $stmt->bindParam(2, $nome_port); $stmt->bindParam(3, $num_func); $stmt->bindParam(4, $num_cart); $stmt->bindParam(5, $cont_mae); $stmt->bindParam(6, $tip_trans); $stmt->bindParam(7, $descr); $stmt->bindParam(8, $cred_deb); $stmt->bindParam(9, $nome_moeda); $stmt->bindParam(10, $cod_moeda); $stmt->bindParam(11, $r_estb); $stmt->bindParam(12, $local); $stmt->bindParam(13, $val_trans); $stmt->bindParam(14, $val_dollar); $stmt->bindParam(15, $nome_ciaaerea); $stmt->bindParam(16, $nome_pass); $stmt->bindParam(17, $bilhete1); $stmt->bindParam(18, $bilhete2); $stmt->bindParam(19, $bilhete3); $stmt->bindParam(20, $bilhete4); $stmt->bindParam(21, $cod_iata); $stmt->bindParam(22, $c_custo); $stmt->bindParam(23, $cnpj); $stmt->bindParam(24, $val_reais); $stmt->execute(); } if($stmt){ echo "Dados inseridos com sucesso!!!"; }else { echo "Erro !!!"; } } ?> </BODY> </HTML> Compartilhar este post Link para o post Compartilhar em outros sites
kkumayama 2 Denunciar post Postado Setembro 27, 2017 Como você falou que está funcionando não testei... $objeto = fopen($arquivo,'r'); while (($dados = fgetcsv($objeto, 10000, ";")) !== FALSE) { $objeto = fopen($arquivo,'r'); $cabecalho = true; while (($dados = fgetcsv($objeto, 10000, ";")) !== FALSE) { if ($cabecalho) { $cabecalho = false; continue; } coloca esse pedaço e faz um teste.... para mais informações: continue Compartilhar este post Link para o post Compartilhar em outros sites
Daniel A 0 Denunciar post Postado Setembro 28, 2017 20 horas atrás, kkumayama disse: Como você falou que está funcionando não testei... $objeto = fopen($arquivo,'r'); while (($dados = fgetcsv($objeto, 10000, ";")) !== FALSE) { $objeto = fopen($arquivo,'r'); $cabecalho = true; while (($dados = fgetcsv($objeto, 10000, ";")) !== FALSE) { if ($cabecalho) { $cabecalho = false; continue; } coloca esse pedaço e faz um teste.... para mais informações: continue kkumayama funcionou perfeitamente ...... muitoooo Obrigado!!!!!! Compartilhar este post Link para o post Compartilhar em outros sites