Moin,
bis zum Punkt Datei öffnen läuft es nun.
<?
//get the lastest file/
$path = "C:\Programme\RESOL\ServiceCenterFull\workspace";
$latest_ctime = 0;
$latest_filename = '';
$d = dir($path);
while (false !== ($entry = $d->read())) {
$filepath = "{$path}/{$entry}";
//Check whether the entry is a file etc.:
if(is_file($filepath) && filectime($filepath) > $latest_ctime) {
$latest_ctime = filectime($filepath);
$latest_filename = $entry;
}//end if is file etc.
}
echo $latest_filename;
//File öffnen
$file = "C:\Programme\RESOL\ServiceCenterFull\workspace/".$latest_filename ;
$handle = fopen ($file,"r");
//File nicht gefunden?
if (!$handle) echo ("File not found");
?>
Jetzt möchte ich ja gern die Parameter im text in Variable schreiben. Der Text ist so aufgebaut, im Kopf werden die Parameter definiert und dann nur noch Zahlenkolonnen geschrieben.
Datum Temperatur Sensor 1 [ °C] Temperatur Sensor 2 [ °C] Temperatur Sensor 3 [ °C] Temperatur Sensor 4 [ °C] Temperatur Sensor 5 [ °C] Temperatur Sensor 6 [ °C] Temperatur Sensor 7 [ °C] Temperatur Sensor 8 [ °C] Temperatur Sensor 9 [ °C] Temperatur Sensor 10 [ °C] Temperatur Sensor 11 [ °C] Temperatur Sensor 12 [ °C] Einstrahlung [ W/qm] Impulseingang 1 Impulseingang 2 Sensorbruchmaske Sensorkurzschlussmaske Sensorbenutzungsmaske Drehzahl Relais 1 [ %] Drehzahl Relais 2 [ %] Drehzahl Relais 3 [ %] Drehzahl Relais 4 [ %] Drehzahl Relais 5 [ %] Drehzahl Relais 6 [ %] Drehzahl Relais 7 [ %] Drehzahl Relais 8 [ %] Drehzahl Relais 9 [ %] Relaisbenutzungsmaske Fehlermaske Warnungsmaske Reglerversion Systemzeit Vorlauftemperatur [ °C] Fernversteller [ K] Aussentemperatur [ °C] Speichertemperatur [ °C] Vorlaufsolltemperatur [ °C] Relaismaske Vorlaufmaximaltemperatur [ °C] HK-Kennlinie Nachtabsenkung [ K] Tageskorrektur [ K] Mischerlaufzeit [ s] Sommerbetrieb [ °C] Info Schaltuhr Fehlerstatus Modulstatus Relaisstatus Fehler-Info Vorlauftemperatur [ °C] Fernversteller [ °C] Aussentemperatur [ °C] Vorlaufsolltemperatur [ °C] Modulversion
24.02.2018 00:00:06 -2,7 59,0 3,5 58,9 2,4 16,8 888,8 59,3 888,8 41,6 888,8 40,1 0 0 0 1344 0 18447 0 0 100 0 0 0 100 0 100 463 0 0 513 Sa,00:11 40,1 888,8 -6,9 -2693,2 42,2 3 65 1,4 -3 2 1 19 4 0 8 3 0 55,6 0,5 -6,9 56,8 1795
Für mich ist dabei nur die letzte geschriebene Zahlenkolonne interessant, diese Beginnt mit dem Datum und Endet mit 1795. Wie bekomme ich diese Zahlen in Variable geschrieben ?
Update: mit den eingefügten Befehlen von der Funkwetterstation schaut es nun so aus :
<?
//get the lastest file/
$path = "C:\Programme\RESOL\ServiceCenterFull\workspace";
$latest_ctime = 0;
$latest_filename = '';
$d = dir($path);
while (false !== ($entry = $d->read())) {
$filepath = "{$path}/{$entry}";
//Check whether the entry is a file etc.:
if(is_file($filepath) && filectime($filepath) > $latest_ctime) {
$latest_ctime = filectime($filepath);
$latest_filename = $entry;
}//end if is file etc.
}
echo $latest_filename;
//File öffnen
$file = "C:\Programme\RESOL\ServiceCenterFull\workspace/".$latest_filename ;
$handle = fopen ($file,"r");
//File nicht gefunden?
if (!$handle) echo ("File not found");
//Ghe alle Datensätze durch
while ($line = fgets($handle))
{
if (strlen($line) > 10)
{
//Datenzeile zerlegen
$parameter = explode(";", $line);
//Zeile enthält Parameter?
if (count($parameter) == 17)
{
}
}
}
fclose($handle);
echo ($parameter[0]." ".$parameter[1]."
");
?>
die Meldungen dazu :
TextData_20180225.log
Notice: Undefined offset: 1 in C:\IP-Symcon\Scripts\20959.ips.php on line 39
25.02.2018 10:07:08 98,2 63,7 96,6 59,4 94,1 16,6 888,8 60,6 888,8 36,9 888,8 42,0 1026 0 0 1344 0 18447 100 0 0 0 0 0 0 0 100 463 0 0 513 So,10:18 42,0 888,8 -4,1 -2693,2 41,0 1 65 1,4 -3 2 1 19 0 0 16 3 0 57,0 0,5 -4,1 58,4 1795
Wo steckt beim letzten echo der falsche Offset ?