PHP-скрипт: узнать город на русском, для мультилендинга

serafim

Житель Разулы
Команда форума
Разула в сердце
Регистрация
25 Апр 2016
Сообщения
78.865
Реакции
187.698
Ra
243.529
Точное определение IP + запись города на русском языке в переменную $city через API geoplugin.net.
Использовал для создания мультилендингов, может кому пригодится:


<?php
// IP
if (!function_exists('getClientIP'))
{
function getClientIP()
{
if (isset($_SERVER["HTTP_CF_CONNECTING_IP"]))
{
$_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CF_CONNECTING_IP"];
};

foreach (array('HTTP_CLIENT_IP', 'HTTP_X_FORWARDED_FOR', 'HTTP_X_FORWARDED', 'HTTP_X_CLUSTER_CLIENT_IP', 'HTTP_FORWARDED_FOR', 'HTTP_FORWARDED', 'REMOTE_ADDR') as $key)
{
if (array_key_exists($key, $_SERVER))
{
foreach (explode(',', $_SERVER[$key]) as $ip)
{
$ip = trim($ip);

if (filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE) !== false)
{
return $ip;
};
};
};
};

return false;
};
};

$best_known_ip = getClientIP();

if(!empty($best_known_ip))
{
$ip = $clients_ip = $client_ip = $client_IP = $best_known_ip;
}
else
{
$ip = $clients_ip = $client_ip = $client_IP = $best_known_ip = '';
};

// GEO
$ip_data = @json_decode(file_get_contents("

Войти или Зарегистрироваться чтобы увидеть скрытый текст.

".$ip."&lang=ru"));
if($ip_data && $ip_data->geoplugin_countryName != null)
{
$city = 'г. '.$ip_data->geoplugin_city;
}
echo("Вы находитесь в ".$city);
?>
 

Похожие темы

Теги по которым нашли тему

  1. скрипт
Сверху