Frage

Ist es möglich, die Standortdetails von der Benutzer-IP-Adresse in PHP erhalten.

Alle Vorschläge ??

Danke

War es hilfreich?

Lösung

$ip = '98.229.152.237';
$xml = simplexml_load_file("http://ipinfodb.com/ip_query.php?ip=$ip");
print_r($xml);

Ausgabe:

SimpleXMLElement Object
(
    [Ip] => 98.229.152.237
    [Status] => OK
    [CountryCode] => US
    [CountryName] => United States
    [RegionCode] => 33
    [RegionName] => New Hampshire
    [City] => Manchester
    [ZipPostalCode] => 03103
    [Latitude] => 42.9403
    [Longitude] => -71.4435
    [Timezone] => -5
    [Gmtoffset] => -5
    [Dstoffset] => -4
)

Andere Tipps

Sie müssen einige Kühe auf die Verwendung von Geo-IP-Service

Ein kostenloser Service i auf Google gefunden: geoplugin . Sie php snipplets ihren Dienst zu verwenden: geoplugin / php

Sie können einen Blick auf die MaxMind Datenbank und die GeoIP PECL-Erweiterung .

In meinem Fall:

  • Ich habe die Erweiterung mit "pecl install geoip" installiert
  • Und ich habe die geolitecity Datenbank und kopiert es es /usr/share/GeoIP/GeoIPCity.dat so gefunden die PECL-Erweiterung.

Hinweis sollte es auch einige PEAR-Paket sein ( PEAR::Net_GeoIP ), Ihnen zu helfen, wenn Sie jede PECL-Erweiterung nicht installiert werden kann.


Sobald Sie diese beiden installiert haben, können Sie diese Art von Code verwenden:

$ip = '82.229.x.y';     // replace with your IP address
var_dump(geoip_record_by_name($ip));

Und Sie werden diese Art von Ausgabe:

array
  'continent_code' => string 'EU' (length=2)
  'country_code' => string 'FR' (length=2)
  'country_code3' => string 'FRA' (length=3)
  'country_name' => string 'France' (length=6)
  'region' => string 'B9' (length=2)
  'city' => string 'Lyon' (length=4)
  'postal_code' => string '' (length=0)
  'latitude' => float 45.75
  'longitude' => float 4.84999990463
  'dma_code' => int 0
  'area_code' => int 0

, der in meinem Fall ist wahr. Ich bin in der Tat in der Stadt Lyon, FR

Überprüfen Sie die PEAR GeoIP Bibliothek aus.

Die erste Frage bleibt relevant für viele; jetzt Ende 2016).

Meine Antwort nach jahrelanger Erfahrung mit GEO Ortung ist wie folgt ...

Echt Berichterstattung über Standortdaten über „Land“ ist unzuverlässig. Alle Angaben werden von der IP # ISP Anmeldung aufgelesen, und es ist, dass relevante Informationen, die regelmäßig aktualisiert wird und von den wichtigsten Datenlieferanten weitergegeben. Da IP-# s fallen gelassen werden oder kauften die Lieferanten müssen die Details über die Registrierung / Änderungen der betroffenen Unternehmen (dh ISPs) erhalten. Die meisten Zahlen sind in „Blöcken“ erhalten, aber nicht alle unbedingt relevant für den gleichen Server.

* Viele (? Wenn nicht die meisten) der kleineren Website Freibeuter Informationen zum öffentlichen Gebrauch liefert die „Maxmind“ FREE db und (falsch) passieren, dass die Öffentlichkeit auf; lesen Maxmind Einsprüche. Kleinere Standorte verfügen nicht über die Mittel für die ständige Aktualisierung der Behörde Registrierungen.

Die freie MaxMind und „ip2location“ DBs ist eine kleinere Teilmenge ihrer Pay-for-Datenbanken; sehen ihre Vorbehalte zur Erklärung dessen, was fehlt.

Viele IP # s in Blöcken gekauft werden über eine beliebige Anzahl von Servern gemeinsam genutzt und dies führt zu info Mehrdeutigkeit. Wenn eine drahtlose Netzwerkverbindung zu einem ISP verwenden, wie verdrahteten ADSL / Kabel / blah Verbindung zu einer wahrscheinlich stabil gegenüber, kann die Fehlera ziemlich erschreckend sein, weil der besonders breiter Platzierung von ISP-Netzwerk-Server (Relaying); in den meisten Fällen nicht statischen Wechsel zwischen den Sitzungen und vielleicht sogar während jeder Sitzung einiger.

Als Beispiel bei Verwendung eines Roaming-Wireless-Laptop-Dongle für ISP-Verbindung I zitiert würde oft als in einem anderen Staat zu sein, und das kann (hier in AU) wird überall von Hunderten bis Tausende von Kilometern entfernt von meinem aktuellen Standort.

Können Sie ... mit PHP

die Haupt paar DB Lieferanten verwenden (dh ip2location.com) erhält man Zugriff auf die verfügbaren Server-Seite Scripte haben, die verwendet werden können, die notwendigen Informationen zu erhalten. Und anstatt eine weniger zuverlässig frei DB von ihnen verwende ich ip2location des DB1 die Besucher „Land“ nur zu erhalten, von dem was ich tun kann, was ich will, um über beide Perl und PHP.

ich auch AUTO herunterladen und dekomprimieren, wie pro Nutzung Einsprüche, die binäre db auf monatlicher Basis nur, nachdem es aktualisiert wird. Offensichtlich Zugriff Look-ups aus der eigenen Website überwinden Probleme mit Remote-On-Demand-Erfassung und Verarbeitung.

Für meine Anforderungen der ip2location FULL db war deutlich günstiger als Maxmind pro Jahr. * Die Maxmind FREE db jedoch umfangreicher als die ip2location FREE DB ist.

Beachten Sie bei dem Versuch, Besucher zu erhalten zusätzliche Adresse und Zustand Details etc empfehle ich es in einer Weise angezeigt wird der Besucher Korrekturen vornehmen kann; damit sie nicht verlassen frustriert.

Viele Grüße.

 $ip = "66.96.147.144";
    $geoPlugin_array = unserialize(file_get_contents('http://www.geoplugin.net/php.gp?ip=' . $ip) );
    echo '<pre>';
    print_r($geoPlugin_array);

OUTPUT :
Array
(
    [geoplugin_request] => 66.96.147.144
    [geoplugin_status] => 200
    [geoplugin_credit] => Some of the returned data includes GeoLite data created by MaxMind, available from http://www.maxmind.com.
    [geoplugin_city] => Burlington
    [geoplugin_region] => MA
    [geoplugin_areaCode] => 781
    [geoplugin_dmaCode] => 506
    [geoplugin_countryCode] => US
    [geoplugin_countryName] => United States
    [geoplugin_continentCode] => NA
    [geoplugin_latitude] => 42.5051
    [geoplugin_longitude] => -71.204697
    [geoplugin_regionCode] => MA
    [geoplugin_regionName] => Massachusetts
    [geoplugin_currencyCode] => USD
    [geoplugin_currencySymbol] => $
    [geoplugin_currencySymbol_UTF8] => $
    [geoplugin_currencyConverter] => 1
)

Vor kurzem fand ich PHP GeoIPLocation Bibliothek

Es ist eine einzige PHP-Datei, die Sie in Ihrem PHP-Skript müssen umfassen. Es sucht automatisch eine gut aktualisierte Datenbank und gibt die Länder Details für Sie.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top