Come ottenere il nome paese da indirizzo IP in php [duplicato]
-
10-10-2019 - |
Domanda
Questa domanda ha già una risposta qui:
- Come si analizza e processo HTML / XML in PHP? 30 risposte
Chi vorrei trovare paese, città, latitudine e longitudine da indirizzo IP utilizzando php. Sto usando questo URL e sta tornando dati in formato XML.
http://www.ipgp.net/api/xml/122.163.6.58
I dati sta arrivando in questo modo:
<IpLookup>
<Ip>122.163.6.58</Ip>
<Code>IN</Code>
<Country>India</Country>
<Flag>http://www.ipgp.net/flags/in.png</Flag>
<City>Calcutta</City>
<Region>West Bengal</Region>
<Isp></Isp>
<Lat>22.5697</Lat>
<Lng>88.3697</Lng>
</IpLookup>
Qualcuno può suggerire come analizzare e ottenere il risultato
Soluzione
Altri suggerimenti
Utilizza la XML parser incluso in PHP?
Sto usando questo personalmente: http://ipinfodb.com/
Gli esempi sono molto chiara e concisa e l'API è molto veloce.
In bocca al lupo.
L'uso di API in PHP ha già descritto nel loro sito web. Perché si utilizza, ma non leggete?
ti suggerisco di utilizzare xpath
questo è più facile schema per l'accesso agli attributi.
ad esempio, per i dati correnti Ho il seguente:
$file = 'file.xml';
$xml = new SimpleXMLElement($file, NULL, TRUE);
$ipz = $xml->xpath("/IpLookup/Ip");
$country = $xml->xpath("/IpLookup/Country/");
foreach($ipz as $ip)
{
foreach($country as $country)
{
echo $ip.'<br/>';
echo $country.'<br/>';
}
}
questo codice restituirà la ip
e la country
per il vostro xml
corrente. è possibile modificarlo a modo tuo.