- var_dump: documentation ( source)
- preg_match: documentation ( source)
- preg_split: documentation ( source)
<?php
//$array_log = file('log.txt');
$array_log = <<<"LOG"
[Log Info]
BkpSet00.bks\Html-Log00.zip=Backup completato con successo÷00 : 00 : 59÷231466496
BkpSet00.bks\Html-Log01.zip=Errore nella procedura di backup÷00 : 00 : 02÷0
BkpSet00.bks\Html-Log02.zip=Backup completato con successo÷00 : 00 : 43÷216655360
BkpSet01.bks\Html-Log00.zip=Nessun backup effettuato÷00 : 00 : 02÷0
BkpSet01.bks\Html-Log01.zip=Errore nella procedura di backup÷00 : 00 : 46÷0
BkpSet02.bks\Html-Log00.zip=Nessun backup effettuato÷00 : 00 : 02÷0
BkpSet02.bks\Html-Log01.zip=Backup completato con successo÷00 : 00 : 14÷216655360
BkpSet03.bks\Html-Log00.zip=Nessun backup effettuato÷00 : 00 : 02÷0
BkpSet03.bks\Html-Log01.zip=Backup completato con successo÷00 : 00 : 17÷231663104
BkpSet04.bks\Html-Log00.zip=Backup completato con successo÷00 : 00 : 16÷231663104
BkpSet00.bks\Html-Log03.zip=Backup completato con successo÷00 : 00 : 13÷216655360
BkpSet00.bks\Html-Log04.zip=Backup completato con successo÷00 : 00 : 09÷216655360
BkpSet16.bks\Html-Log00.zip=Backup completato con successo÷00 : 01 : 33÷1462158767
BkpSet05.bks\Html-Log00.zip=Errore nella procedura di backup÷11 : 18 : 30÷235564152142
LOG;
$array_log = preg_split('/\r?\n/',$array_log, -1, PREG_SPLIT_NO_EMPTY);
$ante_ultimo_elemento = count($array_log)-2;
$valor_ante_ultimo = $array_log[$ante_ultimo_elemento];
preg_match('/(?P<file>.*?)=(?P<message>[\w\s]*?).(?P<time>\d{2}\s?:\s?\d{2}\s?:\s?\d{2}\s?).(?<last_part>\d*)/', $array_log[$ante_ultimo_elemento], $estado);
var_dump($estado);
$estado_final = "";
if($estado['message'] == "Backup completato con successo"){
$estado_final = "COMPLETO";
}
if($estado['message'] == "Nessun backup effettuato"){
$estado_final = 'CERO';
}
if($estado['message'] == "Errore nella procedura di backup"){
$estado_final = 'ERROR';
}
echo $estado_final;