start(); $p_cn->set_encoding('latin1'); while (($data = fgetcsv($handle, 2000,'@')) !== FALSE) { $num = count($data); for ($c=0; $c < $num; $c++) { //----------------------------------------------------- // Parsing CSV comes here //----------------------------------------------------- $row=explode(';',$data[$c]); if ( sizeof ($row) < 13 ) continue; $num_compte=$row[0]; $date_exec=$row[3]; $date_val=$row[4]; // remove first the thousand sep. $montant=str_replace('.','',$row[6]); // replace the coma by a period $montant=str_replace(',','.',$montant); // remove the sign $montant=str_replace('+','',$montant); $devise=$row[1]; $compte_ordre=$row[0]; $detail=trim($row[7]).' '.trim($row[8]).' '.trim($row[9]).' '.trim($row[10]); if ( myereg('[0-9]{3}-[0-9]{7}-[0-9]{2}',$row[7],$r) ) { $compte_ordre=$r[0]; } //----------------------------------------------------- // insert into import_tmp //----------------------------------------------------- $Sql="insert into import_tmp (code, date_exec , date_valeur, montant, devise, compte_ordre, detail, bq_account , jrn, status) values (nextval('s_cbc'), to_date('$date_exec','YYYYMMDD'), to_date('$date_exec','YYYYMMDD'), $montant, '$devise', '".addslashes($compte_ordre)."', '".addslashes($detail).$num_compte." ', '$p_bq_account', $p_jrn, 'n')"; try { $p_cn->exec_sql($Sql) ; } catch(Exception $e) { $p_cn->rollback(); break; } } // for ($c=0;$c<$num;$c++) $row++; } // file is read fclose($handle); echo "Encore rien désolé"; ?>