Olá
tenho uma aplicação de controle onde envio o arquivo txt zipado para leitura e insert no bd, acontece q não estou conseguindo inserir todos as linhas do arquivo, gravando somente uma (a primeira), não consigo ver onde estou errando.
Adaptei de uma aplicação onde importo um txt, ignorando o cabeçalho e linhas em branco se existirem, isto também não estou conseguindo no arquivo zipado,
Se puderem me ajudar, agradeço.
segue código
[code]
/////////////////////////////////////////
$pathFile = $this->Ini->path_doc . “/” . {arquivo};
$zip = zip_open($pathFile);
if ($zip)
{
while ($zip_entry = zip_read($zip))
{
echo “
”;
echo "Name: " . zip_entry_name($zip_entry) . “
”;
if (zip_entry_open($zip, $zip_entry))
{
$contents = zip_entry_read($zip_entry);
echo "File Contents:<br/>";
echo $contents;
//if(strlen(trim($zip_entry)) >= 0) {
$dados = explode(";", $contents, 1028);
$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]);
$data = $campo9;
$dia = substr($data, 0, 2);
$mes = substr($data, 3, 2);
$ano = substr($data, 6, 4);
$campo9_gravar = $ano."-".$mes."-".$dia;
$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
//}
zip_entry_close($zip_entry);
}
[/code]