Получать информацию по 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() в деле.
Читать далее →