Sprite01 hat geschrieben:Ein paar Variablen aus der von Werner genannten Textdatei.
%curminmaxhour[0,1,0]% - Temperatur vor einer Stunde
%curval[0]% - aktuelle Temperatur
%alwaysseppoint_on% - Immer Punkt als "Dezimaltrennzeichen" ein
%unit_off% - ohne Einheiten
Hallo
Heute habe ich mich nocheinmal mit den %variablen% von WsWin befasst und die Tendenz der Temperatur für das PHP-Script wie folgt gelöst.
Eine Datei zb. ws_variblen.txt habe ich in der WsWin eingebunden damit
diese daraus im WsWin/html Verzeichnis als ws_variblen.php
abgespeichert wird und über ftp hochgeladen werden kann.
In der ws_variablen.php habe ich für später die meisten Variablen
ebenfalls schon mit ausgeführt. Dadurch wird die Datei mit Daten von WsWin gefüllt. Dabei muss man wissen das es sich immer um
Dateninhalte handelt, die zuletzt von WsWin in Zusammenhang mit der
voreingestellten Zeiteinstellung (Upload) abgespeichert wurden.
In der neuen PHP-Datei wird die Datei ws_variablen.php mittels include(); dann eingebunden. (Beachte mein Tipp)
Vorsicht hier habe ich bei der Software ftp-Uploader festgestellt das er die
Datei zuerst löscht und dann Lädt. Je nach dem wie eure
Datenverbindung ist, kann das schonmal eine weile dauern. Auch wenn
Ihr das Programm mal stoppen solltet, kann unter Umständen die Datei auf dem Server fehlen!
Findet die neue PHP-Datei den Inhalt von Include() nicht, erzeugt include() eine Warnung und die Seite kann solange nicht eingesehen werden wie
die Datei ws_variablen.php auf dem Server fehlt.
Von daher sollte man überprüfen ob die Datei sich auf dem Server
befindet. Das geht dann so für die neue PHP Datei:
Code: Alles auswählen
//$verz. muss immer der absolute Pfad sein!
$verz = $_SERVER['DOCUMENT_ROOT']."pfad/html/";
$ordnerhandle = opendir($verz);
while ($dateiname = readdir($ordnerhandle)) {
if($dateiname == "." || $dateiname == "..")continue; //(..) Übergeordnete Verz. entfernen
$file[$dateiname] = "$dateiname"; //alle Dateien in ein Array übergeben
}
closedir ($ordnerhandle);
//Prüfen ob Datei auf Server liegt wenn nicht dann Hinweis ausgeben!
$datei ="ws_variablen.php";
if ($file[$datei] == $datei){
include (pfad/ws_variablen.php');
}else {$text_warn = "Die Wetterdaten werden gerade aktualisiert";}
Diesen Code sollte in der neuen PHP-Datei stehen. Die Fehler
Meldung $text_warn wird dann irgendwo im Script mittels echo aufgerufen,
wenn dort eine Meldung erwünscht ist.
Zurück zum Thema Temperatur Trend.
In der Datei ws_variablen.php habe ich u.a. folgende Zeile eingefügt:
Bitte diesen Codeschnipsel nicht in der neuen PHP Datei einfügen
Das würde nicht funktionieren! Dafür habe ich ja extra in der WsWin die Datei ws_variablen.txt eingebunden die dann auf dem Server als variablen.php hochgeladn wird!
Code: Alles auswählen
$ws_temp_stunde = '%unit_off%%alwaysseppoint_on%%curminmaxhour[0,1,0]%'; //- Temperatur vor einer Stunde
$ws_temp_aktuell = '%unit_off%%alwaysseppoint_on%%curval[0]%'; // - aktuelle Temperatur
Die WSWIn Variabeln wurde schon in diesem Tread von Sprite01 näher erklärt.
In der neuen PHP-Datei kommt jetzt folgender Codenipsel rein:
Code: Alles auswählen
//Temp. Tendenz
if ($ws_temp_stunde == $ws_temp_aktuell)
{$images_pfeil = '<img src="pfad/ws_pfeil_gruen_15.gif" width="15" height="15" border="0" alt="Temperatur gleichbleibend" />';
}else{
if ($ws_temp_stunde < $ws_temp_aktuell){$images_pfeil = '<img src="pfad/ws_pfeil_rot_15.gif" width="15" height="15" border="0" alt="Temperatur steigend" />';
}else{$images_pfeil = '<img src="pfad/ws_pfeil_blau_15.gif" width="15" height="15" border="0" alt="Temperatur fallend" />';}
}
Mit dem Codeschnipsel
wird dann der Trend ausgegeben.
Noch einige Anmerkungen:
Mit "pfad" solltet ihr immer wissen wo ihr die Datei auf den Server
abgespeichert habt. Dementsprechend müsst ihr den Pfad korrekt eintragen!
Als Beispiel werden hier Gif-Bilder angegeben. Die habt ihr nicht. Ihr könnt
welche selbst erstellen. Achtet auch hier auf den Dateinamen! Ihr könnt
selber andere Dateinamen vergeben. Wichtig ist hierbei das die Datei in dem Code auch vorkommt.
Ihr könnt auch statt Bilder einen Text verwenden. Löscht dann den Eintag im Code
Code: Alles auswählen
$images_pfeil = '<img src="pfad/ws_pfeil_rot_15.gif" width="15" height="15" border="0" alt="Temperatur steigend" />';
und ersetzt dann Folgendes:
So das wars erstmal als Dankeschön an Euch allen.
Klaus