suche PHP Hilfe "wie speichere ich Werte in einem String"?
- Wetterfrosch
- Beiträge: 477
- Registriert: 08 Dez 2020, 11:49
- Wohnort: 79410 Badenweiler (350mNN) / Breisgau-Hochschwarzwald
- Hat sich bedankt: 129 mal
- Danksagung erhalten: 37 mal
- Kontaktdaten:
Re: suche PHP Hilfe "wie speichere ich Werte in einem String"?
?
jetzt wirds langsam ein Buch mit 7 Sigeln für mich, kann ich denn die datei alternativ auch mit fopen auslesen, das mache ich im Script ja mit einer anderen datei auch schon und das funktioniert?
jetzt wirds langsam ein Buch mit 7 Sigeln für mich, kann ich denn die datei alternativ auch mit fopen auslesen, das mache ich im Script ja mit einer anderen datei auch schon und das funktioniert?
-
- Beiträge: 81
- Registriert: 07 Dez 2020, 18:19
- Wohnort: Ulm / Grimmelfingen
- Hat sich bedankt: 10 mal
- Danksagung erhalten: 18 mal
Re: suche PHP Hilfe "wie speichere ich Werte in einem String"?
Klar!
Wichitg ist, dass in $inhalt der Inhalt der Datei ist....
Keine Ahnung welche Umgebung Du benutzt. Es ist immer sehr hilfreich wenn man die Möglichkeit hat in den Fehlerasugaben nachzuschauen.
Dann wäre so etwas erschienen:
Ein kurzes "gurgeln" und aus einem "explde" wäre ein "explode" geworden 
Wichitg ist, dass in $inhalt der Inhalt der Datei ist....
Keine Ahnung welche Umgebung Du benutzt. Es ist immer sehr hilfreich wenn man die Möglichkeit hat in den Fehlerasugaben nachzuschauen.
Dann wäre so etwas erschienen:
Code: Alles auswählen
PHP Fatal error: Uncaught Error: Call to undefined function explde()

- Wetterfrosch
- Beiträge: 477
- Registriert: 08 Dez 2020, 11:49
- Wohnort: 79410 Badenweiler (350mNN) / Breisgau-Hochschwarzwald
- Hat sich bedankt: 129 mal
- Danksagung erhalten: 37 mal
- Kontaktdaten:
Re: suche PHP Hilfe "wie speichere ich Werte in einem String"?
hab jetzt nur mal diesen codeschnipsel aufgerufen
der Aufruf funktioniert aber es wird einfach nix ausgegeben, der Bildschirm bleibt leer.
Code: Alles auswählen
<?php
$inhalt = file_get_contents("/home/webbe7drb/html/meteonews/alt.txt"); // Lesen
echo $inhalt; // Testausgabe
?>
- Wetterfrosch
- Beiträge: 477
- Registriert: 08 Dez 2020, 11:49
- Wohnort: 79410 Badenweiler (350mNN) / Breisgau-Hochschwarzwald
- Hat sich bedankt: 129 mal
- Danksagung erhalten: 37 mal
- Kontaktdaten:
Re: suche PHP Hilfe "wie speichere ich Werte in einem String"?
mist, ich habe den fehler gefunden, in meinem txt-datei sind die werte mit KOMMA als dezimaltrenner gespeichert, wandel ich sie in PUNKT um, dann funktioniert das auslesen.
aber sobald diese zeile hinzukommt, funktioniert script wieder nicht mehr:
muss es da eventuell explode also mit O heißen?
aber sobald diese zeile hinzukommt, funktioniert script wieder nicht mehr:
Code: Alles auswählen
$inhaltArray = explde("/n", $inhalt ); // Aufteilen in Array anahnd Zeilenende "/"
- Wetterfrosch
- Beiträge: 477
- Registriert: 08 Dez 2020, 11:49
- Wohnort: 79410 Badenweiler (350mNN) / Breisgau-Hochschwarzwald
- Hat sich bedankt: 129 mal
- Danksagung erhalten: 37 mal
- Kontaktdaten:
Re: suche PHP Hilfe "wie speichere ich Werte in einem String"?
also wenn ich das ganze mit O, d.h. als explode eingebe, dann scheint es zu funktionieren, bis auf die Tatsache, dass die 2 zeilen die ich verändern will nicht verändert werden sondern unten an das array drangehängt werden.
-
- Beiträge: 81
- Registriert: 07 Dez 2020, 18:19
- Wohnort: Ulm / Grimmelfingen
- Hat sich bedankt: 10 mal
- Danksagung erhalten: 18 mal
Re: suche PHP Hilfe "wie speichere ich Werte in einem String"?
Genau. Wie geschrieben: explode ist richtig. explde war falsch.
Ich meinte nur: Wenn man eine Fehlerausgabe wie oben beschrieben hat, würde dies oft einfach weiter helfen...
Ich meinte nur: Wenn man eine Fehlerausgabe wie oben beschrieben hat, würde dies oft einfach weiter helfen...
- Wetterfrosch
- Beiträge: 477
- Registriert: 08 Dez 2020, 11:49
- Wohnort: 79410 Badenweiler (350mNN) / Breisgau-Hochschwarzwald
- Hat sich bedankt: 129 mal
- Danksagung erhalten: 37 mal
- Kontaktdaten:
Re: suche PHP Hilfe "wie speichere ich Werte in einem String"?
ok, ich habs jetzt hinbekommen 
Danke für eure Hilfe.

Danke für eure Hilfe.
-
- Beiträge: 81
- Registriert: 07 Dez 2020, 18:19
- Wohnort: Ulm / Grimmelfingen
- Hat sich bedankt: 10 mal
- Danksagung erhalten: 18 mal
- Wetterfrosch
- Beiträge: 477
- Registriert: 08 Dez 2020, 11:49
- Wohnort: 79410 Badenweiler (350mNN) / Breisgau-Hochschwarzwald
- Hat sich bedankt: 129 mal
- Danksagung erhalten: 37 mal
- Kontaktdaten:
Re: suche PHP Hilfe "wie speichere ich Werte in einem String"?
Jetzt habe ich ein weiteres Problem entdeckt und zwar betrifft es mein PHP-Script mit dem ich den Mittelwind über 10 minuten bestimme, ich bediene mich dabei dem 12-sekündigen Scriptaufruf, der durch die Wetterstation gesteuert ist, d.h. 50 Messwerte entspricht dann 10 Minuten
Jetzt fiel mir aber auf, dass mit jedem 12-sekündigen Scriptaufruf der aktuelle Messwert $wind 2x in der txt-datei hintereinander abgespeichert wird anstatt nur 1x, ich finde aber nicht heraus wieso das geschieht, kann sich hier jemand erklären wieso das geschieht?
Könnte es eventuell sein, dass die Wetterstation, die das Script alle 12 sekunden aufruft, eventuell alle 12 sekunden unmittelbar hintereinander 2x immer das Script aufruft?
Sollte ich vielleicht am Scriptende einfach ein
einbauen um eventuell dies zu verindern?
Update:
Ich habe nun am Ende des Scripes mal so ein sleep eingebaut und zusätzlich noch über filetime die Zeit bestimmt an der die Datei beschrieben wurde und danach dann eine if-Bedingung eingebaut die das Beschreiben der txt-datei nur bei filetime >=12 Sekunden erlaubt.
Nun ist das Problem der ständig doppelt abgespeicherten Werte weg.
Ist es wirklich so, dass die Wetterstation den Scriptaufruf alle 12 sekunden 2x macht bzw. ist der "Sendeintervall" den die Wetterstation aussendet und worüber mein Script dann aktiviert wird, so lange, dass das Script 2x durchlaufen wird?
Code: Alles auswählen
$windmittel = 'mittelwind.txt';
file_put_contents($windmittel, $wind, FILE_APPEND); //Wind ist die Variable der Wetterstation
$a = explode( ';', file_get_contents($windmittel) );
if ( count($a) > 50 )
array_shift( $a );
$a[] = $neue_nummer;
file_put_contents( $windmittel, implode(';', $a) );
$windneu = array_sum($a);
$windneu = $windneu/50;
$windneu = round($windneu,1);
Könnte es eventuell sein, dass die Wetterstation, die das Script alle 12 sekunden aufruft, eventuell alle 12 sekunden unmittelbar hintereinander 2x immer das Script aufruft?
Sollte ich vielleicht am Scriptende einfach ein
Code: Alles auswählen
sleep(5);
Update:
Ich habe nun am Ende des Scripes mal so ein sleep eingebaut und zusätzlich noch über filetime die Zeit bestimmt an der die Datei beschrieben wurde und danach dann eine if-Bedingung eingebaut die das Beschreiben der txt-datei nur bei filetime >=12 Sekunden erlaubt.
Nun ist das Problem der ständig doppelt abgespeicherten Werte weg.
Ist es wirklich so, dass die Wetterstation den Scriptaufruf alle 12 sekunden 2x macht bzw. ist der "Sendeintervall" den die Wetterstation aussendet und worüber mein Script dann aktiviert wird, so lange, dass das Script 2x durchlaufen wird?
- Wetterfrosch
- Beiträge: 477
- Registriert: 08 Dez 2020, 11:49
- Wohnort: 79410 Badenweiler (350mNN) / Breisgau-Hochschwarzwald
- Hat sich bedankt: 129 mal
- Danksagung erhalten: 37 mal
- Kontaktdaten:
Re: suche PHP Hilfe "wie speichere ich Werte in einem String"?
Bräuchte noch mal die Hilfe der PHP-Experten hier.
Mit folgendem Script ermittle ich die höchste Windböe der vergangenen 50 aufgezeichneten Böen:
Ich habe das Script nicht selbst geschrieben, sondern von Jemanden übernommen, nun stelle ich mir die Frage für was der Codeteil $a[] = $neue_nummer; zuständig ist, denn dieser verursacht in meinen PHP-Logfiles einen Fehlereintrag "undefined Variable".
Werf ich jedoch diesen Codeschnipsel raus, dann werden die Böen im Arry plötzlich ohne Semikolonzeichen hintereinander geschrieben, d.h. es gibt keine Trennung der Werte mehr.
Kann hier mal Jemand über den Code sehen und ihn ggf. berichtigen?
Vielen Dank.
LG Frank
Mit folgendem Script ermittle ich die höchste Windböe der vergangenen 50 aufgezeichneten Böen:
Code: Alles auswählen
$boe = 'boe.txt';
file_put_contents($boe, $windboe, FILE_APPEND); //$windboe ist die Variable aus der wetterstation
$a = explode( ';', file_get_contents($boe) );
if ( count($a) > 50 )
array_shift( $a );
$a[] = $neue_nummer;
file_put_contents( $boe, implode(';', $a) );
$boe = max($a); //höchste der 50 gespeicherten böen ausgeben
Werf ich jedoch diesen Codeschnipsel raus, dann werden die Böen im Arry plötzlich ohne Semikolonzeichen hintereinander geschrieben, d.h. es gibt keine Trennung der Werte mehr.
Kann hier mal Jemand über den Code sehen und ihn ggf. berichtigen?
Vielen Dank.
LG Frank