suche PHP Hilfe "wie speichere ich Werte in einem String"?

Für allgemeine Software
Benutzeravatar
Wetterfrosch
Offline
Beiträge: 408
Registriert: 08 Dez 2020, 11:49
Wohnort: 79410 Badenweiler (350mNN) / Breisgau-Hochschwarzwald
Hat sich bedankt: 105 mal
Danksagung erhalten: 32 mal
Kontaktdaten:

Re: suche PHP Hilfe "wie speichere ich Werte in einem String"?

#31

Beitrag von Wetterfrosch »

?

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?
WernerWetter
Offline
Beiträge: 79
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"?

#32

Beitrag von WernerWetter »

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:

Code: Alles auswählen

PHP Fatal error:  Uncaught Error: Call to undefined function explde()
Ein kurzes "gurgeln" und aus einem "explde" wäre ein "explode" geworden ;)
Benutzeravatar
Wetterfrosch
Offline
Beiträge: 408
Registriert: 08 Dez 2020, 11:49
Wohnort: 79410 Badenweiler (350mNN) / Breisgau-Hochschwarzwald
Hat sich bedankt: 105 mal
Danksagung erhalten: 32 mal
Kontaktdaten:

Re: suche PHP Hilfe "wie speichere ich Werte in einem String"?

#33

Beitrag von Wetterfrosch »

hab jetzt nur mal diesen codeschnipsel aufgerufen

Code: Alles auswählen

<?php
$inhalt = file_get_contents("/home/webbe7drb/html/meteonews/alt.txt"); // Lesen
echo $inhalt;				// Testausgabe
?>
der Aufruf funktioniert aber es wird einfach nix ausgegeben, der Bildschirm bleibt leer.
Benutzeravatar
Wetterfrosch
Offline
Beiträge: 408
Registriert: 08 Dez 2020, 11:49
Wohnort: 79410 Badenweiler (350mNN) / Breisgau-Hochschwarzwald
Hat sich bedankt: 105 mal
Danksagung erhalten: 32 mal
Kontaktdaten:

Re: suche PHP Hilfe "wie speichere ich Werte in einem String"?

#34

Beitrag von Wetterfrosch »

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:

Code: Alles auswählen

$inhaltArray = explde("/n", $inhalt );     // Aufteilen in Array anahnd Zeilenende "/"
muss es da eventuell explode also mit O heißen?
Benutzeravatar
Wetterfrosch
Offline
Beiträge: 408
Registriert: 08 Dez 2020, 11:49
Wohnort: 79410 Badenweiler (350mNN) / Breisgau-Hochschwarzwald
Hat sich bedankt: 105 mal
Danksagung erhalten: 32 mal
Kontaktdaten:

Re: suche PHP Hilfe "wie speichere ich Werte in einem String"?

#35

Beitrag von Wetterfrosch »

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.
WernerWetter
Offline
Beiträge: 79
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"?

#36

Beitrag von WernerWetter »

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...
Benutzeravatar
Wetterfrosch
Offline
Beiträge: 408
Registriert: 08 Dez 2020, 11:49
Wohnort: 79410 Badenweiler (350mNN) / Breisgau-Hochschwarzwald
Hat sich bedankt: 105 mal
Danksagung erhalten: 32 mal
Kontaktdaten:

Re: suche PHP Hilfe "wie speichere ich Werte in einem String"?

#37

Beitrag von Wetterfrosch »

ok, ich habs jetzt hinbekommen ;-)
Danke für eure Hilfe.
WernerWetter
Offline
Beiträge: 79
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"?

#38

Beitrag von WernerWetter »

Um das letzte Wort zu haben: Klasse :D
Benutzeravatar
Wetterfrosch
Offline
Beiträge: 408
Registriert: 08 Dez 2020, 11:49
Wohnort: 79410 Badenweiler (350mNN) / Breisgau-Hochschwarzwald
Hat sich bedankt: 105 mal
Danksagung erhalten: 32 mal
Kontaktdaten:

Re: suche PHP Hilfe "wie speichere ich Werte in einem String"?

#39

Beitrag von Wetterfrosch »

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

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);
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

Code: Alles auswählen

sleep(5);
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?
Benutzeravatar
Wetterfrosch
Offline
Beiträge: 408
Registriert: 08 Dez 2020, 11:49
Wohnort: 79410 Badenweiler (350mNN) / Breisgau-Hochschwarzwald
Hat sich bedankt: 105 mal
Danksagung erhalten: 32 mal
Kontaktdaten:

Re: suche PHP Hilfe "wie speichere ich Werte in einem String"?

#40

Beitrag von Wetterfrosch »

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:

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
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
Antworten