У многих не определяется страна. Выкладываю фикс с определением страны. Без подключения к MySQL.У многих не определяется страна. Выкладываю фикс с определением страны. Без подключения к MySQL.
Открываем файл register.php и editprofile.php
Ищем строку:
$country=strtolower(getCountryByIp($_SERVER[REMOTE_ADDR]));
Меняем её на этот код:
//Geolocation
include("geoip/geoip.inc");
include("geoip/geoipcity.inc");
//определяем IP посетителя
$ip = $_SERVER['REMOTE_ADDR'];
//Соединяемся с базой
$gi = geoip_open("geoip/GeoLiteCity.dat", GEOIP_STANDARD);
//Читаем данные из базы по полученому IP
$geodata = GeoIP_record_by_addr($gi, $ip);
//Закрываем соединение с базой
geoip_close($gi);
//Преобразовываем обьект данных об IP в массив
$geodata = (array)$geodata;
//Получаем код страны в формате ISO-3166-1
$contry_code = strtolower($geodata['country_code']);
//Получаем название страны
$contry_name = $geodata['country_name'];
include("geoip/geoip.inc");
include("geoip/geoipcity.inc");
//определяем IP посетителя
$ip = $_SERVER['REMOTE_ADDR'];
//Соединяемся с базой
$gi = geoip_open("geoip/GeoLiteCity.dat", GEOIP_STANDARD);
//Читаем данные из базы по полученому IP
$geodata = GeoIP_record_by_addr($gi, $ip);
//Закрываем соединение с базой
geoip_close($gi);
//Преобразовываем обьект данных об IP в массив
$geodata = (array)$geodata;
//Получаем код страны в формате ISO-3166-1
$contry_code = strtolower($geodata['country_code']);
//Получаем название страны
$contry_name = $geodata['country_name'];
Ниже ищем строку:
<img src='/images/flags/<?=$country; ?>.png' alt='' style='margin: 3px 6px 0px 0;' /><font color='#C15F24'>(<?=$country ?>)</font>
И меняем ее на:
<img alt="" src='/images/flags/<?php echo $contry_code; ?>.png' alt='' style='margin: 3px 6px 0px 0;' /><font color='#C15F24'>(<?php echo $contry_name; ?>)</font>
Закидываем папку (geoip) с файлами в корень сайта (с учетом того, что у Вас сохранились картинки флагов). Запускаем парсер для скачивания базы адресов (GeoLiteCity.dat). Он скачивается и сам распаковывается, Вам ни чего делать не нужно, только для обновления время от времени его запускать (при желании). Для этого заходим в http://site.ru/geoip/index.php
Все, пользуемся на здоровье.
P.S. И сильно ногами не пинать
Отправить комментарий
Вы должны быть зарегистрированы чтобы оставить комментарий.
Вы должны быть зарегистрированы чтобы оставить комментарий.