Bom dia!
Consegui resolver tudo q eu queria:
Ignorar primeira linha (cabeçalho) no txt;
Ignorar a linha vazia (branco) no final do txt;
remover (substituir) caracteres não desejáveis ou q causavam erro na importação.
Sou iniciante no php e scriptcase, vou postar o código caso alguém tenha alguma sugestão para contribuir,
se alguém puder contribuir como eu pego o txt de um arquivo zipado, agradeço.
Abraços
/**
*DELETANDO DADOS DA TABELA
*/
// SQL setando parametros
$delete_table = ‘anual’; // Table name
$delete_where = “cliente_id = ‘{cliente}’ AND ano = ‘{ano}’”; // Where clause
// Deletando registros
$delete_sql = 'DELETE FROM ’ . $delete_table
. ’ WHERE ’ . $delete_where;
sc_exec_sql($delete_sql);
// ATÉ AQUI CÓDIGO PARA LIMPAR TABELA
// INICIO DO CÓDIGO PARA IMPORTAR TXT
$pathFile = $this->Ini->path_doc . “/” . {arquivo};
$arquivo = fopen($pathFile , ‘r’);
if ($arquivo == false) die(‘Não foi possível abrir o arquivo.’);
{ // IF PARA SEPARAR CABEÇALHO (PRIMEIRA LINHA) DO RESTANTE
// Lê o conteúdo do arquivo
$cabecalho = fgets($arquivo, 1024);
//echo $cabecalho.'<br />';
{ // LER RESTANTE DO ARQUIVO
while(!feof($arquivo)) {
$linha = fgets($arquivo); // LÊ CADA LINHA
if(strlen(trim($linha)) > 0) { //RETIRA A LINHA EM BRANCO
//Separa as colunas
$dados = explode(";", $linha);
$campo1 = str_replace("'","",$dados[0]); //RETIRA O ' DA COLUNA
$campo2 = str_replace("'","",$dados[1]);
$campo3 = str_replace("'","",$dados[2]);
$campo4 = str_replace("'","",$dados[3]);
$campo5 = str_replace("'","",$dados[4]);
$campo6 = str_replace("'","",$dados[5]);
$campo7 = str_replace("'","",$dados[6]);
$campo8 = str_replace("'","",$dados[7]);
$campo9 = str_replace("'","",$dados[8]);
$campo10 = str_replace("'","",$dados[9]);
$campo11 = str_replace("'","",$dados[10]);
$campo12 = str_replace("'","",$dados[11]);
$campo13 = str_replace("'","",$dados[12]);
$campo14 = str_replace("'","",$dados[13]);
$campo15 = str_replace("'","",$dados[14]);
$campo16 = str_replace("'","",$dados[15]);
$campo17 = str_replace("'","",$dados[16]);
$campo18 = str_replace("'","",$dados[17]);
$campo19 = str_replace("'","",$dados[18]);
// ARRUMANDO A DATA PARA GRAVAR NO BANCO POSTGRES
$data = $campo9;
$dia = substr($data, 0, 2);
$mes = substr($data, 3, 2);
$ano = substr($data, 6, 4);
$campo9_gravar = $ano."-".$mes."-".$dia;
// SUBSTITUINDO A VIRGULA POR PONTO PARA CAMPO NUMERICO PARA GRAVAR NO BANCO CORRETAMENTE
$valor_bruto = floatval(str_replace(',', '.', str_replace('.', '', $campo6)));
$total_nfe = floatval(str_replace(',', '.', str_replace('.', '', $campo17)));
$quantidade = floatval(str_replace(',', '.', str_replace('.', '', $campo4)));
//echo
$inserir = sc_exec_sql("INSERT into anual(ncm, descricao, cfop, quantidade, unidade, valor_bruto, opracao_nfe, situacao_nfe, data_nfe, ie_emitente, uf_emitente, ie_destinatario, uf_destino, modelo_df, serie_nfe, nfe, total_nfe, situacao_aim, chave_acesso, ano, cliente_id, ncm2, data_lancamento) VALUES ('$campo1', '$campo2', '$campo3', '$quantidade', '$campo5', '$valor_bruto', '$campo7', '$campo8', '$campo9_gravar', '$campo10', '$campo11', '$campo12', '$campo13', '$campo14', '$campo15', '$campo16', '$total_nfe', '$campo18', '$campo19','{ano}',
'{cliente}','$campo1', '{data_lancamento}')"); //INSERE CADA LINHA
} // FECHA REMOÇÃO DA LINHA EM BRANCO
} //FECHA WHILE
}
if($inserir == true){
echo"Sucesso";}
else{
echo"Erro";}
}
fclose($arquivo);