1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
| set_time_limit(0); //definiar tempo para execução do script caso o arquivo tenha muitas linhas
ob_start();
require_once('conecta_oracle.php');
//configure conforme o seu ambiente.
// "\ip_servidorpasta_compartilhadaarquivos do LOG"
$diretorio_data = "C:\intranet\www\data_txt\";
//listar arquivos do diretorio.
$$dir = @opendir($diretorio_data);
$i=0;
while (false !== ($file = readdir($$dir))) {// while pastas
if ($file != "." && $file != ".." && $file != "Thumbs.db" && $file != $dir) { // if pastas
$i++;
$indice[$i] = "$file";
$nm_arquivo = $indice[$i] = "$file";
$tipo = substr($indice[$i], 0, 6);
$codigo_ramal = substr($indice[$i], 6, 2);
// recebe parametros
if($tipo == 'CODIGO'){
//imprimi o nome do arquivo
echo $nm_arquivo;
echo ' -- '.$i.'<br />';
$arquivo = $diretorio_data.$nm_arquivo;
if (file_exists($arquivo)) {
$ponteiro = fopen ("$arquivo", "r");
$num_linhas = 0;
$caracteres = 0;
while (!feof ($ponteiro)) {
if ($linha = fgets($ponteiro, 4096)){
$num_linhas++;
$caracteres += strlen($linha);
if ($num_linhas != "1"){ // ignorar a primeira linha do arquivo cabeçalho.
$DATA_IMPORTACAO = date('d/m/Y');//;
$DS_USUARIO = 'import';
$CD_PABX = $codigo_ramal;
$HR_LEITURA = substr($linha, 0, 9);
$DS_TIPO = substr($linha, 9, 1);
$DS_OP = substr($linha, 11, 2);
$DS_TR = substr($linha, 14, 2);
$NR_RAMAL = substr($linha, 17, 5);
$NR_LIGACAO = substr($linha, 23, 20);
$HR_LIGACAO = substr($linha, 44, 8);
$DS_DURACAO = substr($linha, 53, 8);
$DT_LIGACAO = substr($linha, 62, 10);
$DS_CL = substr($linha, 73, 2);
$VL_LIGACAO = substr($linha, 76, 8);
$DS_CP = substr($linha, 85, 2);
$DS_DESTINO = substr($linha, 88, 25);
$consulta = "INSERT INTO hak_pabx_registro_codigo_tb (
NR_SEQUENCIA, DATA_IMPORTACAO, DS_USUARIO, CD_PABX, HR_LEITURA, DS_TIPO, DS_OP, DS_TR,
NR_RAMAL, NR_LIGACAO, HR_LIGACAO, DS_DURACAO, DT_LIGACAO, DS_CL, VL_LIGACAO, DS_CP, DS_DESTINO
)
VALUES (
HAK_TELEFONIA_SEQ.Nextval, '$DATA_IMPORTACAO', '$DS_USUARIO', '$CD_PABX', '$HR_LEITURA', '$DS_TIPO', '$DS_OP', '$DS_TR',
'$NR_RAMAL', '$NR_LIGACAO', '$HR_LIGACAO', '$DS_DURACAO', '$DT_LIGACAO', '$DS_CL', '$VL_LIGACAO', '$DS_CP', '$DS_DESTINO'
)";
$stid = oci_parse( $conexao, "".$consulta."" ) or die ( " erro " . oci_error() );
oci_execute ( $stid );
//$exec = oci_execute( $stid , OCI_DEFAULT);
oci_commit( $conexao ); // commits all new values: 1, 2, 3, 4, 5
}//if ignora primeira linha
}//if
}//while
echo 'total de importações: ' . $num_linhas_total = $num_linhas_total + $num_linhas;
fclose ($ponteiro);//FECHA O PONTEIRO DO ARQUIVO
// você poderá apagar o arquivo para não importar o mesmo arquivo 2 vezes, ou renomear
//unlink("$arquivo");
//rename($arquivo, "importado".$arquivo."000");//
}//exists
else { // FILE EXISTS
echo "O arquivo $arquivo não FOI FOI ENCONTRADO";
}
}//tipo
}
} // fecha while
oci_free_statement($stid);
oci_close($conexao);//fecha a conexão atual |