#1 2014.07.17 11:30

koji
Участник
Зарегистрирован: 2014.07.13
Сообщений: 72
Карма: 3
Профиль

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

После определения нужно к адресу сайта добавить код страны, RU, KZ, UA

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function whoIs($url,$ip) {
$fp=fsockopen($url,43,$errno,$errstr);
if(!$fp) exit("$errno($errstr)");
else {
fputs($fp,$ip."\r\n");
$content='';
while(!feof($fp)) {
$content.=fgets($fp,128)."<br/>";
}
fclose($fp);
 
preg_match('|ReferralServer: whois://([^\n<:]+)|i',$content,$matches);
if(!empty($matches[1])) return whoIs($matches[1],$ip);
else return $content;
}
}

whoIs('whois.arin.net',$_SERVER['REMOTE_ADDR'])  -  выводит целый кусок информации

нужно резануть  inetnum:, netname:, country:

inetnum: 5.14.26.0 - 5.14.26.255
netname: ApiNET
country: RU

inetnum: загнать в массив типа IPrng[0] IPrng[1]

на выходе $IPrng[], $netname, $country

опять же проблема с незнанием preg_replace
возможно функцию получения инфо нужно перепесать, замена на curl

Отредактировано koji (2014.07.17 12:06)

Неактивен

#2 2014.07.17 12:29

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6538
Карма: 108
Профиль Веб-сайт

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

там по моему str_replace даже подходил

Неактивен

Дополнительно

forum.wapinet.ru

PunBB Mod v0.6.1
0.013 s