Определение страны по 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
Комментарии:
Нету комментариев для вывода...