Cijfer uit .txt op web pakken?
http://www-app3.gfz-potsdam.de/kp_index/Kp_ap_nowcast.txt
de laatst gemeten Kp index te halen (het omcirkelde cijfer in de screenshot: https://iili.io/57cNG2.jpg)
Als er een - in een regel staat, dan betekent dat dat die meting nog gedaan moet worden en die regel(s) moet je dan negeren.
Iemand enig idee hoe dat aan te pakken?
Ik kan een beetje rommelen met bestaande PHP scripts, maar verder ben ik een totale php-noob.
Stel jullie hulp zeer op prijs!
Gaat het niet om de laatste regel?
Die regels moeten genegeerd worden en het lastige is dat er bijv. na de meting van 21 uur GMT geen loze regels meer getoond worden.
Erg lastig denk ik?
Code (php)
Wat gebeurt hier:
- bestand ophalen (file_get_contents())
- bestand splitsen in regels ($line)
- per regel de waarde bepalen ($v)
- indien waarde positief, dan bewaren ($value = evt. reeds bepaalde waarde overschrijven)
- het eindresultaat is de laatste, positieve waarde in het bestand
Gewijzigd op 31/10/2021 17:35:02 door Rob Doemaarwat
Ik heb het scriptje even online geprobeerd en ik krijg dit als resultaat:
float(2.333)
Dat is inderdaad de actuele Kp, maar ik zou graag alleen de waarde willen zien.
Dus het eerste cijfer (en in een apart scriptje eventueel ook nog die hele waarde?).
Of ben ik nu heel erg hebberig :)
Ik draai overigens nog op PHP 7.4 maakt dat nog wat uit?
De $value echo'en.
Dan krijg ik 2.333 te zien.
Nu nog het eerste cijfer alleen en ik ben helemaal gelukkig!
Toevoeging op 31/10/2021 19:33:27:
Even gegoogled en vond dit:
$firstChar = mb_substr($value, 0, 1);
echo $firstChar;
en dat werkt inderdaad.
Ik ben er uit.
Enorm bedankt voor jullie hulp Ariën en Rob !!
Gewijzigd op 31/10/2021 18:49:20 door Peter vB
Als het getal ook wel eens groter dan 10 kan worden (en "het eerste karakter" dus niet correct is), dan kun je beter floor($value) gebruiken. Daarmee "rond je naar beneden af" (sowieso wel "netter").
Edit:
Domme reactie van een domme spammer verwijderd. Plus enkeltje eeuwige banvelden.
Gewijzigd op 10/11/2021 12:41:47 door - Ariën -
.