folgende Beschreibung habe ich gerade im PHP Magazin gefunden
Damit sind Regional - Abhängie Angebote möglich.IP Location Tools bietet nun eine API, mit der man seine User auf der eigenen Homepage
mit Angeboten aus seiner Nähe versorgen kann – vorausgesetzt natürlich, dass man damit
überhaupt dienen kann.
Beispiele: Lebensmittel, die wir nur per Kurier (z.b. Fahrrad) liefern können.
Pizza, Sushie oder Säfte http://www.saftfabrik.de/
In einem Shop beite ich z.b. Outdoor Fotoshootings an. Bei besuchern aus einer
großen entfernung könnte ich dann Hotel Buchungen oder anreise vorschläge unterbreiten.
Und wenn jemand aus meiner Region auf die Seite kommt, ihm den Weg zum Werkstatt
erklären.... und Abholung aktieren...
Auch kann man besser verfolgen, welche Werbung in welcher Region funktioniert.
Haribo Lakritz Problem in Bayer z.b. besser erkennen...
ergo, ich dneke wir bauen die Funktion ein
Code: Alles auswählen
/**
* Geolocation API access
*
* @param string $ip IP address to query
* @param string $format output format of response
*
* @return string XML, JSON or CSV string
*/
function get_ip_location($ip, $format="xml") {
/* Set allowed output formats */
$formats_allowed = array("json", "xml", "raw");
/* IP location query url */
$query_url = "http://iplocationtools.com/ip_query.php?ip=";
/* Male sure that the format is one of json, xml, raw.
Or else default to xml */
if(!in_array($format, $formats_allowed)) {
$format = "xml";
}
$query_url = $query_url . "{$ip}&output={$format}";
/* Init CURL and its options*/
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $query_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 15);
/* Execute CURL and get the response */
return curl_exec($ch);
}
Wer es eben ausprobieren möchte, ich habe die Funktion hier
installiert
http://www.oos-shop.de/service/geo_ip.php
Für die ermittlung der IP Adresse steht im myOOS projekt
die Funktion oos_server_get_remote();
zur Verfügung.
Code: Alles auswählen
$ip = oos_server_get_remote();
Die Funktion get_ip_location kann das Ergebnis
im Format "json", "xml", "raw" liefern.
Hier Beispiele
Code: Alles auswählen
$location_data = get_ip_location($ip);
print_r($location_data);
Code: Alles auswählen
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Ip>84.61.49.1</Ip>
<Status>OK</Status>
<CountryCode>DE</CountryCode>
<CountryName>Germany</CountryName>
<RegionCode>07</RegionCode>
<RegionName>Nordrhein-Westfalen</RegionName>
<City>Bochum</City>
<ZipPostalCode></ZipPostalCode>
<Latitude>51.4833</Latitude>
<Longitude>7.2167</Longitude>
</Response>
Code: Alles auswählen
$location_data = get_ip_location($ip, "raw");
print_r($location_data);
Code: Alles auswählen
84.61.49.1,OK,DE,Germany,07,Nordrhein-Westfalen,Bochum,,51.4833,7.2167
Code: Alles auswählen
$location_data = get_ip_location($ip, "json");
print_r($location_data);
Code: Alles auswählen
{
"Ip" : "84.61.49.1",
"Status" : "OK",
"CountryCode" : "DE",
"CountryName" : "Germany",
"RegionCode" : "07",
"RegionName" : "Nordrhein-Westfalen",
"City" : "Bochum",
"ZipPostalCode" : "",
"Latitude" : "51.4833",
"Longitude" : "7.2167",
}
cu
ralf