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

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

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

#11

Beitrag von Wetterfrosch »

so, jetzt hätte ich noch eine weitere Frage, es geht darum, dass ich ein Wetternetzwerk über ein Templated bedienen möchte, das Templated muss als txt-Datei in folgender Strucktur abgelegt werden:

Code: Alles auswählen

Leerzeichen
Temperatur
Luftfeuchte
Luftdruck
usw.
Kann ich so etwas mittels PHP-Array umsetzen, d.h. dass die Werte im Array UNTEREINANDER angezeigt werden?
Falls ja, kann mir Jemand aufzeigen wie ich das umsetzen muss?

Vielen Dank.
LG Frank
Benutzeravatar
rodolfo
Offline
Beiträge: 256
Registriert: 27 Nov 2020, 15:59
Wohnort: Pfaffenhofen
Hat sich bedankt: 23 mal
Danksagung erhalten: 21 mal
Kontaktdaten:

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

#12

Beitrag von rodolfo »

Hallo Frank,

folgender Code schreibt die Werte des Arrays "$myArray" untereinander, beginnend mit einer Leerzeile in die Datei "myvalues.txt".

Code: Alles auswählen

$myArray[] = "0.2° C";
$myArray[] = "89 %";
$myArray[] = "1001.4 hPa";

$valuevar = "\n";

foreach ($myArray as $value){
    $valuevar .= $value . "\n";
}

$handle = fopen ("myvalues.txt", "w");
fwrite ($handle, $valuevar);
fclose ($handle);

Viele Grüße, Rolf

Bild
Benutzeravatar
Wetterfrosch
Offline
Beiträge: 403
Registriert: 08 Dez 2020, 11:49
Wohnort: 79410 Badenweiler (350mNN) / Breisgau-Hochschwarzwald
Hat sich bedankt: 104 mal
Danksagung erhalten: 32 mal
Kontaktdaten:

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

#13

Beitrag von Wetterfrosch »

Super Rolf, klappt 1A
vielen Dank
Benutzeravatar
Wetterfrosch
Offline
Beiträge: 403
Registriert: 08 Dez 2020, 11:49
Wohnort: 79410 Badenweiler (350mNN) / Breisgau-Hochschwarzwald
Hat sich bedankt: 104 mal
Danksagung erhalten: 32 mal
Kontaktdaten:

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

#14

Beitrag von Wetterfrosch »

Hi,

es macht echt Spaß, was man mit PHP alles umsetzen kann, deswegen kommt nun schon wieder ein weiteres "Projekt" und somit eine Frage:

Gibt es in PHP auch eine Funktion, mit der ich in einem Array ermitteln kann, welcher Wert in diesem Array am Häufigsten vorkommt um dann diesen Wert auszugeben?

ich habe laut google bisher nur eine Funktion gefunden, mit der man ein Array nach einem bestimmten Wert durchsucht und dann ausgibt, wie oft dieser Wert vorkommt, doch eine Funktion, welche das Array nach Häufigkeit durchsucht und dann den Wert mit der größten Häufigkeit ausgibt, konnte ich nicht finden.

Danke für die Infos.
LG Frank
Benutzeravatar
rodolfo
Offline
Beiträge: 256
Registriert: 27 Nov 2020, 15:59
Wohnort: Pfaffenhofen
Hat sich bedankt: 23 mal
Danksagung erhalten: 21 mal
Kontaktdaten:

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

#15

Beitrag von rodolfo »

Hallo Frank,

mit der Funktion "array_count_values()" erhälst Du ein Array, welches die gefundenen Werte als Key enthält und das Vorkommen (Häufigkeit) als Wert.

Code: Alles auswählen

$myArray[] = 100;
$myArray[] = 100;
$myArray[] = 100000;
$myArray[] = 1000;
$myArray[] = 10000;
$myArray[] = 100;
$myArray[] = 1000;
$myArray[] = 10000;
$myArray[] = 1000;
$myArray[] = 100;


echo "<pre>";
print_r(array_count_values($myArray));	
echo "</pre>";
Viele Grüße, Rolf

Bild
Benutzeravatar
Wetterfrosch
Offline
Beiträge: 403
Registriert: 08 Dez 2020, 11:49
Wohnort: 79410 Badenweiler (350mNN) / Breisgau-Hochschwarzwald
Hat sich bedankt: 104 mal
Danksagung erhalten: 32 mal
Kontaktdaten:

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

#16

Beitrag von Wetterfrosch »

So und jetzt brauche ich noch mal die Hilfe der PHP-Spezialisten hier ;-)

Ich generiere ein templated für einen Wetterdienst in einer TXT-Datei.
Diese TXT-Datei überprüfe ich mit folgendem PHP-Code auf ihr Alter (das PHP-Schnipsel wird alle 12 sekunden ausgeführt):

Code: Alles auswählen

$Alter_Datei = filemtime("templated.txt");
Nun steuere ich über eine if-Bedingung, wenn die Datei älter als 5 Minuten ist, dass sie neu beschrieben wird, somit wird die Datei alle 5 Minuten neu beschrieben.

Jetzt sollte die Datei aber immer exakt zur Minute :00, :05, :10, :15 usw. erstellt werden, da es sonst bei der Abholung des Templatedes durch den Wetterdienst zu Problemen bei der Messwert-Auswertung (besonders bei der stündlichen Niederschlagsmenge) kommt, aktuell kann es ja sein, dass sie z.B. um :03, :08, :13, :18 usw.
Kann ich das irgendwie mittels PHP ermöglichen?

Eigendlich brauche ich das Alter der Datei gar nicht überprüfen, das PHP-Script läuft aktuell alle 12 Sekunden und eigendlich müsste ich das Hochladen der txt-datei nur so steueren, dass sie immer zur vollen 5-Minuten geschieht, kann man das irgendwie umsetzen, eventuell mit if(aktuell-Uhrzeit_Minute 00 or 05 or 10 or 15...usw.) dann lade datei neu hoch?

Würde das in etwa so gehen:

Code: Alles auswählen

$timestamp = time();
$minute = date("i", $timestamp);
if($minute == 00 or $minute == 05 or $minute == 10 or $minute == 15 )
{
lade deit neu hoch
}
Danke für die Infos.
Gruß Frank
Zuletzt geändert von Wetterfrosch am 09 Feb 2021, 13:41, insgesamt 4-mal geändert.
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"?

#17

Beitrag von WernerWetter »

... den cronjob auf jede 5 Minuten stellen wäre keine Möglichtkeit?
Benutzeravatar
Wetterfrosch
Offline
Beiträge: 403
Registriert: 08 Dez 2020, 11:49
Wohnort: 79410 Badenweiler (350mNN) / Breisgau-Hochschwarzwald
Hat sich bedankt: 104 mal
Danksagung erhalten: 32 mal
Kontaktdaten:

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

#18

Beitrag von Wetterfrosch »

wird ein cronjob, wenn man ihn auf 5 minuten anlegt exakt immer zur vollen 5 minuten ausgeführt?
Müsste ich halt ein neues Script schreiben, denn aktuell wird die datei über meine Wifi-Wetterstation gesteuert, d.h. das ganze Script wird durch den Upload meiner WiFi Station im 12-Sekundentakt gesteuert.
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"?

#19

Beitrag von WernerWetter »

Naja, "exakt" ist in der Informatik so ein Wort. Einfache Antwort: ja

*/5 * * * * Befehl.php

Alternative, Du machst diese Abfrage innerhalb deines 12 Sekunden Scripts.

Code: Alles auswählen

        
$localtime = localtime();
if (($localtime[1] % 5) == 0)  // $localtime[1]enthält die Minuten, und % entspricht der Modulo Funktion immer bei 0, 5, 10 => gibt es eine "0"
{
	// Hier das Script, dass alle 5 Minuten ausgeführt werden soll

}
Hier ist es allerdings nicht "exakt", da es Verzögerungen bis zu 12 Sekunden geben kann ;)

Ggf. hat Rolf noch bessere Ideen ...

MfG
Werner
Benutzeravatar
Wetterfrosch
Offline
Beiträge: 403
Registriert: 08 Dez 2020, 11:49
Wohnort: 79410 Badenweiler (350mNN) / Breisgau-Hochschwarzwald
Hat sich bedankt: 104 mal
Danksagung erhalten: 32 mal
Kontaktdaten:

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

#20

Beitrag von Wetterfrosch »

Hi,

hab gerade meine obige if-bedingung ausprobiert, das scheint zu funktionieren, sicherlich nicht die eleganteste Lösung, aber es funktioniert ;-)

ok, gerade werners antwort gesehen, baue es mal so um, ist ja eleganter wie meine lösung ;-)
so habe ich es eigentlich gedacht, dass ich innerhalb meines 12-sekunden scriptes es einbaue und ob da nun mal eine 12-sekunden diskripanz herrscht, ist wohl nebensächlich ;-)

jetzt noch eine Frage, gibt es eine möglichkeit, wie ich in dieser txt-datei, die wie folgt als array aufgebaut ist

12
3
11
15
14:10
09.02.2021
1002
45

auslese dann nur ein bestimmtes, z.b. das 4. array neu zu beschreiben und dann unter NEUEM namen abzuspeichern?

wenn das geht, wie macht ich das und wie muss ich es umsetzen, dass die datei dann unter einem neuen namen abgespeichert wird?

Danke für die Hilfe
Zuletzt geändert von Wetterfrosch am 09 Feb 2021, 14:39, insgesamt 1-mal geändert.
Antworten