function filedata () { $ file = fopen ('data_centros / datos_AVC05.log', 'r'); if (! $ file) { echo "The file could not be opened"; } else { while (($ line = fgets ($ file))! == false) { yield $ line; } } }
$ matches = array (); $ data = array ();
foreach (fileData () as $ line) {
if(preg_match('#^(?P<tipo>\w+)\/(?P<categoria>\w+)\s+(?P<rest>.+)#', $line, $coincidencias) === 1){
$parts = explode(' ',preg_replace('/\s+/', ' ', $coincidencias['rest']));
$data[] = [
'id' => $parts[2],
'fecha' => $parts[3],
'hora' => $parts[4],
'categoria' => $coincidencias['categoria'],
'tipo' => $coincidencias['tipo']
];
$datoss = "insert into ".$parts[2]." ".$parts[3]." ".$parts[4]." ".$coincidencias['categoria']." ".$coincidencias['tipo']." ";
} else {
$data[count($data)-1]['descripcion'] .= $line;
$line1 .=$line;
}
} echo $ line1; // print_r ($ data); echo $ datoss;
Data output
-->DIGITAL PATH QUALITY SUPERVISION
-->
-->
-->
-->ES
-->
-->DIP DIPPART ESL2 QSV SECTION DATE TIME
-->
-->36GAMGS 26 54 0 181025 101510
insert into 628 181025 1101 APT O1 Array
(
[id] => 628
[fecha] => 181025
[hora] => 1101
[categoria] => APT
[tipo] => O1
)
I want to do this basically:
insert into 628 181025 1101 APT O1 Array
(
[id] => 628
[fecha] => 181025
[hora] => 1101
[categoria] => APT
[tipo] =>"PATH QUALITY SUPERVISION -ES DIP DIPPART ESL2 QSV SECTION DATE TIME - 36GAMGS 26 54 0 181025 101510"
)