PHP

Определение страны по IP на PHP

Получать информацию по IP мы будем с этого сайта.

function getCountryByIp($ipAddress)
{
    $ipDetail=array();
    $f = file_get_contents("http://api.hostip.info/?ip=".$ipAddress);
     
    //Получаем название города
    preg_match("@<Hostip>(\s)*<gml:name>(.*?)</gml:name>@si", $f, $city);
    $ipDetail['city'] = $city[2]; 
     
    //Получаем название страны
    preg_match("@<countryName>(.*?)</countryName>@si", $f, $country);
    $ipDetail['country'] = $country[1];
     
    //Получаем код страны
    preg_match("@<countryAbbrev>(.*?)</countryAbbrev>@si", $f, $countryCode);
    $ipDetail['countryCode'] = $countryCode[1];
     
    return $ipDetail;
}


Я думаю код в объяснениях не нуждается. Функция будет возвращать такой массив:

Array ( [city] => cityName [country] => countryName [country_code] => Code )


Теперь посмотрим работу функции getCountryByIp() в деле.

$ipDetail = getCountryByIp('195.114.140.105');
echo "Страна: ".$ipDetail['country']."<br />";
echo "Город: ".$ipDetail['city']."<br />";
echo "Код страны: ".$ipDetail['countryCode']."<br />";


По использованному выше будет следующая информация:

Страна: FRANCE
Город: Nice
Код страны: FR
Теги:
ipDetail, country, countryCode, Получаем, countryName, getCountryByIp, match, будет, ipAddress, countryAbbrev, Страна, страны , страны, cityName, Теперь, Array, массив, возвращать, посмотрим, работу, функции, Город, использованному, NiceКод, FRANCEГород, информация, думаю, contents, hostip, array, будем, сайта, function, города , Hostip
Добавлено: 27 Февраля 2015 08:28:55 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...