Hoe txt bestand uitlezen met php variabelen en gebruiken op webpagina

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2

- Ariën  -
Beheerder

- Ariën -

20/08/2012 10:18:11
Quote Anchor link
Chris NVT op 20/08/2012 10:15:14:
De php tags uiteraard zonder de spatie want anders gooit hij het hier in een code blok :D


Gelukkig is er een [ignore] en [/ignore]-tag.

[ignore] <?php en ?>[/ignore]
Gewijzigd op 20/08/2012 10:19:36 door - Ariën -
 
PHP hulp

PHP hulp

26/12/2024 19:13:19
 
Eddy E

Eddy E

20/08/2012 10:24:21
Quote Anchor link
Chris NVT op 20/08/2012 10:15:14:
Erwin H op 20/08/2012 09:53:53:
@Chris, een php extensie geven heeft weinig zin als er geen php tags in staan. Alle content in een bestand dat NIET tussen de php tags staat wordt gezien als platte tekst en direct naar het output kanaal (lees browser) gedirigeerd. php kijkt naar de tags, niet naar de extensie.


Klopt, maar maakt dat weerstation zelf die variabelen zo aan dan? Of is dit van te voren opgegeven? Kun je de output in het weerstation aanpassen?

Anders kun je ook het volgende doen.

fopen (customtextout10.txt, a) (plaatst de pointer vooraan in het bestand) en daar < ?php in wegschrijven. Dan fopen (customtextout10.txt, a+) (plaatst de pointer achteraan in het bestand) en daar ? > wegschrijven. Daarna renamen en inlcuden.

De php tags uiteraard zonder de spatie want anders gooit hij het hier in een code blok :D


Beste oplossing inderdaad.
 
Chris PHP

Chris PHP

20/08/2012 10:26:48
Quote Anchor link
- Aar - op 20/08/2012 10:18:11:
Chris NVT op 20/08/2012 10:15:14:
De php tags uiteraard zonder de spatie want anders gooit hij het hier in een code blok :D


Gelukkig is er een [ignore] en [/ignore]-tag.

[ignore] <?php en ?>[/ignore]
[/quote]

Thnx voor de tip! Die wist ik nog niet haha.
 

20/08/2012 10:31:45
Quote Anchor link
Dit komt van weatherdisplay denk ik.

Voorbeeld wat er mee kan op http://meteolanklaar.be/
 
Erwin H

Erwin H

20/08/2012 10:37:25
Quote Anchor link
Eddy Erkelens op 20/08/2012 10:24:21:
Chris NVT op 20/08/2012 10:15:14:
Erwin H op 20/08/2012 09:53:53:
@Chris, een php extensie geven heeft weinig zin als er geen php tags in staan. Alle content in een bestand dat NIET tussen de php tags staat wordt gezien als platte tekst en direct naar het output kanaal (lees browser) gedirigeerd. php kijkt naar de tags, niet naar de extensie.


Klopt, maar maakt dat weerstation zelf die variabelen zo aan dan? Of is dit van te voren opgegeven? Kun je de output in het weerstation aanpassen?

Anders kun je ook het volgende doen.

fopen (customtextout10.txt, a) (plaatst de pointer vooraan in het bestand) en daar < ?php in wegschrijven. Dan fopen (customtextout10.txt, a+) (plaatst de pointer achteraan in het bestand) en daar ? > wegschrijven. Daarna renamen en inlcuden.

De php tags uiteraard zonder de spatie want anders gooit hij het hier in een code blok :D


Beste oplossing inderdaad.


Met de toevoeging van de php tags aan de file lijkt het mij ook de minst bewerkelijke oplossing inderdaad. Anders kom je op de door Aar al eerder aangegeven regex toestanden. Ongetwijfeld mogelijk, maar zeker niet simpeler en waarschijnlijk ook niet sneller.
 

20/08/2012 10:56:56
Quote Anchor link
Ja is weatherdisplay, je kan ook je clientraw bestanden uploaden, die kan je met php zonder problemen uitlezen.
 
Joeri Jacobs

Joeri Jacobs

20/08/2012 17:35:49
Quote Anchor link
Ja, dit komt van weather display :-). Leuk dat er dat mensen kennen. Dat bestand wordt dus om de 10 min aangemaakt. Alleen weet ik dus niet hoe ik die variabelen dien te gebruiken...

@ Stef yahoo: Is die website van jou? Hoe heb jij dit opgelost?

Toevoeging op 20/08/2012 17:43:48:

Hoe heb je bvb je wxtrends.php gemaakt? Dat is waarschijnlijk ook met zo'n bestand gedaan.
 

20/08/2012 20:14:14
Quote Anchor link
Als je weet welke variable wat is in clientraw dan kan je toch doen wat je wilt.

Uitleg variablen http://www.tnetweather.com/nb-0100.php
 
Joeri Jacobs

Joeri Jacobs

20/08/2012 22:26:49
Quote Anchor link
hmm, dien je dan die positions te gebruiken? Maar dat zijn toch geen variabelen?


Toevoeging op 20/08/2012 22:34:30:

Kan je eens een voorbeeld posten van hoe je die kan gebruiken?

Toevoeging op 20/08/2012 22:39:35:

Kan je ook dit bestand van een andere website ophalen en includen en dan de bariabelen ervan gebruiken?
 

20/08/2012 22:40:19
Quote Anchor link
$arr = explode(" ",@file_get_contents ( "clientraw.txt"));

geeft je een array met alle variabelen van clientraw.

Ophalen van $arr[4] geeft je de temperatuur. Enzovoorts enzovoorts.

Toevoeging op 20/08/2012 22:42:00:

Van een andere website ophalen ruikt naar gegevens stelen. Daar geef ik geen tips over.
 
Joeri Jacobs

Joeri Jacobs

20/08/2012 22:43:01
Quote Anchor link
Ok, stef. Ik zal dit morgenvroeg proberen. Ik laat je weten of dit lukt of niet. Bedankt voor de hulp.

Toevoeging op 20/08/2012 22:46:26:

Dus dan kan ik bvb zeggen:

Temperatuur: $arr[4];

en dan krijg ik:

Temperatuur en dan de waarde daarachter?

Correct?
 

20/08/2012 22:58:04
Quote Anchor link
echo 'Temperatuur: ' . $arr[4] . ' graden Celcius';

Wist niet zo snel hoe dat celsius teken ook al weer ging.
 
Joeri Jacobs

Joeri Jacobs

20/08/2012 23:13:51
Quote Anchor link
Ok, hartelijk dank voor de snelle hulp. Ik laat zeker morgen weten of ik er geraak.

Toevoeging op 20/08/2012 23:22:37:

celsius teken = °C :-p
 
Joeri Jacobs

Joeri Jacobs

05/09/2012 22:51:23
Quote Anchor link
Het is uiteindelijk gelukt met customtextout10.txt. Nu wou ik vragen als het ook mogelijk is in php om kaartjes te maken van die gegevens. Dus bvb van de temperatuur: Hoe kouder hoe blauwer de kleur en hoe warmer hoe roder. Ik dacht eraan om de variabelen te koppelen met rgb waarden maar ik weet niet of dat een goede optie is. Kan er mij iemand helpen hierbij?
 
Elwin - Fratsloos

Elwin - Fratsloos

06/09/2012 09:52:35
Quote Anchor link
Cool. Nog wat weeramateurs. :) Zelf doe ik het samen met mijn vader (hij het station, ik de site): Grandix.nl.

Wij gebruiken ook Weather Display. En zo te zien zit je ook op HWA (die screenshot die je plaatste). De output van Weather Display die wij hebben is net wat anders, meer variabelen. Uitlezen doe ik om de 5 minuten waarbij ik de txt (in mijn geval een htm-bestand) inlees en de data in een database knal. De htm wordt via de ingebouwde FTP functie online gezet zodat mijn site er gebruik van kan maken, maar ook HWA en WUnderground.

Hiervoor gebruik ik onder andere de volgende code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?php
$dataArray
= array(
                'wda_date' => 'date',
                'wda_time' => 'time',
                'wda_station_date' => 'stationDate',
                'wda_station_time' => 'stationTime',
                'wda_utc_date' => 'utcDate',
                'wda_utc_time' => 'utcTime',
                'wda_wind_direction' => 'windDir',
                'wda_wind_direction_text' => 'windDirection',
                'wda_wind_speed' => 'windSpeed',
                'wda_wind_speed_max' => 'hiWindSpeed',
                'wda_wind_speed_max_time' => 'hiWindSpeedTime',
                'wda_wind_chill' => 'windChill',
                'wda_time_sunrise' => 'sunriseTime',
                'wda_time_sunset' => 'sunsetTime',
                'wda_temp_outside' => 'outsideTemp',
                'wda_temp_inside' => 'insideTemp',
                'wda_hum_outside' => 'outsideHumidity',
                'wda_hum_inside' => 'insideHumidity',
                'wda_dew_outside' => 'outsideDewPt',
                'wda_dew_inside' => 'insideDewPt',
                'wda_barometer' => 'barometer',
                'wda_barometer_trend' => 'barTrend',
                'wda_rain_daily' => 'dailyRain',
                'wda_heatindex_outside' => 'outsideHeatIndex',
                'wda_heatindex_inside' => 'insideHeatIndex',
                'wda_forecast' => 'forecast'
            );

$valueArray = array();

$dataUrl = 'http://www.website.nl/weerdata.htm';
$content = file_get_contents($dataUrl);

if ($content !== false) {
    $regels = explode(PHP_EOL,$content);
    foreach($regels as $regel) {
        // Controleer met RegEx of de data voorkomt
        foreach($dataArray as $data => $value) {
            if(preg_match('/\$'.$value.' = \"(.*)\"/',$regel,$regs)) {
                $valueArray[$data] = trim($regs[1]);
            }
        }
    }
}

?>


Je krijgt dan een array ($valueArray) met alle data die in het bestand stond en dan met de naam die je in $dataArray hebt opgegeven. Bijvoorbeeld $valueArray['wda_temp_wda_date'] bevat de waarde van $date uit de txt/htm.

Kaarten maken is nog best lastig, zeker als je van een land (of gebied) een kaart wilt maken. Je hebt immers meerdere gegevens nodig. Voor de kleuren lijkt mij dat je idee klopt. Variabelen een kleurwaarde geven. Bijvoorbeeld:
< -10 = donkerblauw
-10 - 0 = blauw
0 - 10 = lichtblauw
10 - 15 = groen
15 - 20 = geel
20 - 25 = oranje
25 - 30 = rood
> 30 = donkerrood

Ben wel benieuwd voor welk gebied je de kaart wilt gaan maken en welke gegevens je daarvoor hebt.
 
Joeri Jacobs

Joeri Jacobs

06/09/2012 09:58:11
Quote Anchor link
Ik zou een kaart willen maken voor gans België. Eentje voor temperatuur, neerslag, wind, dauwpunt, barometer, ... Kortom voor alle waarden eigenlijk. Maarja, hoe begin je natuurlijk aan zo iets? :-)

Toevoeging op 06/09/2012 09:59:45:

en een hele mooie site hoor heb je! Echt de max :-)
 
Elwin - Fratsloos

Elwin - Fratsloos

06/09/2012 10:12:26
Quote Anchor link
Als je het voor heel België wilt doen zal je toch die data moeten hebben. Wellicht is er voor België ook zoiets als http://xml.buienradar.nl/ wat voor Nederland een behoorlijk dekkend geheel is.
 
Joeri Jacobs

Joeri Jacobs

06/09/2012 10:14:50
Quote Anchor link
We hebben al behoorlijk wat data van verschillende weerstations die meewerken aan ons project. Dus als we weten hoe we die kaart kunnen maken hebben we al een redelijk dekkend gebied van België.
 
John Berg

John Berg

06/09/2012 10:29:55
Quote Anchor link
Joeri Jacobs op 06/09/2012 09:58:11:
Maarja, hoe begin je natuurlijk aan zo iets? :-)


Door PHP, HTML en css te leren?

En als je het niet wil of kan leren, iemand in te huren?

De methode die je nu hanteerd werkt niet echt .. een gek hier vinden die het voor je maakt. Je zult er echt zelf moeite voor moeten doen.

n.b. dit is nu het vierde topic dat ik voorbij zie komen, waarin gevraagd wordt hoe de gegevens op te halen.
 

Pagina: « vorige 1 2



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.