PHPでIPアドレスから国名を取得する方法[複製
-
10-10-2019 - |
質問
この質問にはすでに答えがあります:
PHPを使用してIPアドレスから国、都市、緯度、経度を見つけたいです。このURLを使用しており、XML形式でデータを返しています。
http://www.ipgp.net/api/xml/122.163.6.58
データは次のようになります:
<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>
誰かが結果を解析して取得する方法を提案できますか
解決
使用する simplexml_load_string()
.
他のヒント
使用 XMLパーサー PHPに含まれていますか?
PHPでのAPIの使用は、すでにウェブサイトで説明されています。なぜあなたは使うが読まないのですか?
使用することをお勧めします xpath
これは、属性にアクセスするためのより簡単なスキーマです。たとえば、現在のデータについては、次のことがあります。
$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/>';
}
}
このコードはあなたを返します ip
そしてその country
あなたの現在のために xml
. 。独自の方法で編集できます。
所属していません StackOverflow