Автоопределение региона, города
- Предыдущая
- 1
- 2
- 3
- Показаны 31-32 из 32
1
/* Пример работы * [!ipgeobase? &info=`city`!] * Возможные параметры для info: inetnum, country, city, region, district, lat, lng * *[!if? &is=`[!ipgeobase!]:=:Москва` &then=`@TPL:имя_чанка`!] */ //проверяем есть ли куки //получаем ip пользователя $ip = $_SERVER["HTTP_X_FORWARDED_FOR"]; //запрашиваем информацию с сервера $url = "http://ipgeobase.ru:7020/geo?ip=".$ip; $xml = new SimpleXMLElement($xmlstr); //сохраняем все данные в куки $geo['inetnum'] = (string)$xml->ip[0]->inetnum; $geo['country'] = (string)$xml->ip[0]->country; $geo['city'] = (string)$xml->ip[0]->city; $geo['region'] = (string)$xml->ip[0]->region; $geo['district'] = (string)$xml->ip[0]->district; $geo['lat'] = (string)$xml->ip[0]->lat; $geo['lng'] = (string)$xml->ip[0]->lng; } else { $geo['inetnum'] = $_COOKIE['inetnum']; $geo['country'] = $_COOKIE['country']; $geo['city'] = $_COOKIE['city']; $geo['region'] = $_COOKIE['region']; $geo['district'] = $_COOKIE['district']; $geo['lat'] = $_COOKIE['lat']; $geo['lng'] = $_COOKIE['lng']; } return $geo[$info];
2
<?php /** * Возвращает информация об IP адресе */ function get_ip_info($ip) { $postData = " <ipquery> <fields> <all/> </fields> <ip-list> <ip>$ip</ip> </ip-list> </ipquery> "; { $ipinfo = new SimpleXMLElement($responseXml); return $ipinfo->ip; } return false; } // пример использования $ipinfo = get_ip_info($_SERVER['REMOTE_ADDR']); echo $ipinfo->city; // город echo $ipinfo->region; // регион echo $ipinfo->district; // федеральный округ РФ ?>
<?php class icmsIpgeobase { public static $title = 'ipgeobase.ru'; public static function detect ($ip) { $xml = file_get_contents_from_url('http://ipgeobase.ru:7020/geo?ip='.$ip); if(!$xml){ return false; } if(!$out){ return false; } foreach ($out->ip[0] as $key=>$value) { $data[$key] = (string)$value; } } return $data; } }
- Предыдущая
- 1
- 2
- 3
- Показаны 31-32 из 32