Ein Besuch auf www.regnets.in zeigt kurz und knapp die aktuelle Wetterlage für den Standort des Besuchers an. Ermöglicht wird das über Geolocation anhand der IP-Adresse des Benutzers. Natürlich kann der Benutzer auch andere Städte abfragen: www.regnets.in/Hamburg oder www.regnets.in/Berlin.
Geolocation lässt sich beispielsweise mit (kostenlosen) GeoLite City von MaxMind sehr einfach in PHP-Projekte integrieren. Mit nur wenigen Dateien und wenigen Zeilen Code lässt sich so der Standort des Besuchers relativ genau (für Deutschland mit 71% Trefferquote) bestimmen.
Die benötigten Dateien…
- geoip.inc
- geoipcity.inc
- geoipregionvars.php
- GeoLiteCity.dat – die eigentliche Datenbank
… lassen sich hier herunterladen.
Folgender PHP Code liefert die Geolocation des Besuchers:
include("geoipcity.inc");
include("geoipregionvars.php");
function getCity() {
$gi = geoip_open("GeoLiteCity.dat", GEOIP_STANDARD);
$record = geoip_record_by_addr($gi, $_SERVER['REMOTE_ADDR']);
geoip_close($gi);
return $record->city;
}
Das $record-Objekt enthält aber auch noch andere, interessante Daten:
print $record->country_code . " " . $record->country_code3 . " " . $record->country_name . "\n"; print $record->region . " " . $GEOIP_REGION_NAME[$record->country_code][$record->region] . "\n"; print $record->city . "\n"; print $record->postal_code . "\n"; print $record->latitude . "\n"; print $record->longitude . "\n"; print $record->metro_code . "\n"; print $record->area_code . "\n";
Fragen, Anregungen? Dafür sind die Kommentare da!
Hallo
ich nutze zur Wetteranzeige folgenden Code:
$v){
preg_match_all(“/(.*)/Uis”, $file, $array_infos);
$infos = $array_infos[1];
$ct_infos=count($infos);
if($ct_infos>=1){
for($i=0;$i<$ct_infos;$i++){
preg_match_all("//Uis”, $infos[$i], $array_details);
$detail_keys=$array_details[1];
$detail_values=$array_details[2];
$ct_details=count($detail_keys);
if($ct_details>=1){
for($j=0;$j
<img src="http://www.google.com/” alt=”" />
ºC | ºC
<img src="http://www.google.com/” alt=”" />
ºC | ºC
<img src="http://www.google.com/” alt=”" />
ºC | ºC
<img src="http://www.google.com/” alt=”" />
ºC | ºC
Wie kann ich jetzt die über geolocation ermittelte Stadt dort $url = “http://www.google.com/ig/api?weather=duesseldorf&hl=de” integrieren? Geht das überhaupt? Bin absoluter php Laie und dankbar für jede hilfreiche Antwort.
Danke & Grüße
Hups… da ist wohl was schief gelaufen. Nochmal:
Hallo
ich nutze zur Wetteranzeige folgenden Code:
$v){preg_match_all("/(.*)/Uis", $file, $array_infos);
$infos = $array_infos[1];
$ct_infos=count($infos);
if($ct_infos>=1){
for($i=0;$i<$ct_infos;$i++){
preg_match_all("//Uis", $infos[$i], $array_details);
$detail_keys=$array_details[1];
$detail_values=$array_details[2];
$ct_details=count($detail_keys);
if($ct_details>=1){
for($j=0;$j
<img src="http://www.google.com/" alt="" />
ºC | ºC
<img src="http://www.google.com/" alt="" />
ºC | ºC
<img src="http://www.google.com/" alt="" />
ºC | ºC
<img src="http://www.google.com/" alt="" />
ºC | ºC
Wie kann ich jetzt die über geolocation ermittelte Stadt dort
$url = "http://www.google.com/ig/api?weather=Duesseldorf&hl=de";integrieren? Geht das überhaupt? Bin absoluter php Laie und dankbar für jede hilfreiche Antwort.Danke & Grüße
Mensch…muss wohl nicht explizit sagen, dass ich laie bin…das sieht ja furchtbar aus. Kann ich das nicht per mail senden?