Gimliho web „foggy point” - programování, php, outdoor, o ničem...Skip to main content.

PHP klient pro odběr počasí z měřící stanice na http://pocasi.barak.cz

Konečně jsem se dostal k napsání PHP klienta pro odběr počasí z měřící stanice na http://pocasi.barak.cz. Pojal jsem to jako třídu, s tím že se záskanými daty si každý už může naložit jak uzná za vhodné, avšak v souladu s podmínkami odběru dat. (Podmínky odběru dat)

p.s.: Pokud někdo ví o nějaké podobné stanici s přenosem dat na internet, dejte mi prosím vědět.

Samotný kód:

class G2_meteoclient{
var
$base_url;
var
$client_url;
var
$data = "";
var
$den = "";
var
$cas = "";
var
$teplota = "";
var
$tlak = "";
var
$vlhkost = "";
var
$rosbod = "";

// constructor
function G2_meteoclient($conf) {
$this->base_url = $conf['base_url'];
$this->client_url = $conf['client_url'];
$this->get_data();
$this->parse_data();
}

// nacteni dat XML
function get_data() {
$data = "";
$file = $this->base_url."?cl=".urlencode($this->client_url);
$fp = fopen($file, "r");
if(!
$fp)
return
false;
else
{
while(!
feof ($fp)) {
$data.=fgets($fp, 4096);
}
fclose($fp);
$this->data = $data;
return
true;
}
}

// parsovani dat XML
function parse_data() {
$data = $this->data;
$regexp = '/<(.*)>(.*)/i';
preg_match_all($regexp, $data, $am);

foreach (
$am[1] as $key=>$value) {
$
$value = $am[0][$key];
}
$this->den = $den;
$this->cas = $cas;
$this->teplota = $teplota;
$this->tlak = $tlak;
$this->vlhkost = $vlhkost;
$this->rosbod = $rosbod;
}

}

// nemenit! - zdroj dat
$conf['base_url'] = "http://www.barak.cz/s2/xmlout.php";
// kompletni url stranky kde client bezi
$conf['client_url'] = "http://gimli2.gipix.net";

$pmc = new G2_meteoclient($conf);
echo
$pmc->den."
"
;
echo
$pmc->cas."
"
;
echo
$pmc->teplota."
"
;
echo
$pmc->tlak."
"
;
echo
$pmc->vlhkost."
"
;
echo
$pmc->rosbod."
"
;

?>



Gimli2 | Vyšlo: 18. 6. 2005 - 14:56:39 | Update: 26. 6. 2006 - 12:13:24 | Zobrazení: 4397

Články podobné

Podobnost je určována triviální cestou shody některého ze slov z nadpisu článku. Jsem zvědavej, co to tu bude nabízet za asociace ;-)