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

ghst713

Premium Lite
Регистрация
25 Дек 2017
Сообщения
15
Реакции
48

ddn128, этот вариант лучше, согласен. Мой - проще. Я всего лишь навсего выкладываю свои наработки, которые когда-то использовал - авось пригодятся кому
 

Рекламное сообщение
24xbtc.com – сервис по обмену криптовалют №1 для тех, кому надоело терять деньги на невыгодных обменах, переживать за свою анонимность и безопасность, а также полноту резервов.

Мы гарантируем:
  • сотни направлений обмена;
  • зачисление денег на карты большинства банков;
  • качественную техническую поддержку;
  • дополнительные преимущества для каждого клиента.
Просто наслаждайтесь быстрым и выгодным обменом, а все проблемы предоставьте нам.

➡️ Перейти к обмену
 

Ну на счёт проще вопрос спорный :)

Скачиваем с офсайта 2 БД

GeoLite2-City.mmdb
они бесплатные если чё :)

Ставим с гитхаба либу

В нужном месте выводим

PHP:
require 'vendor/autoload.php';

use GeoIp2\Database\Reader;

$reader = new Reader('./geoIP2/GeoLite2-City.mmdb');



$ip = $_SERVER["HTTP_X_REAL_IP"];
$record = $reader->city($ip);

echo 'твой IP -'. $ip.'<br>';

print($record->country->isoCode . "\n"); // 'US'

print($record->country->names['ru'] . "\n"); // '美国'

print($record->mostSpecificSubdivision->names['ru'] . "\n"); // 'Minnesota'

print($record->mostSpecificSubdivision->isoCode . "\n"); // 'MN'

print($record->city->name . "\n"); // 'Minneapolis'

print($record->postal->code . "\n"); // '55455'

print($record->location->latitude . "\n"); // 44.9733
print($record->location->longitude . "\n"); // -93.2323

вот вся любофф :)

Дополнительно (если нужно) можно просклонять -

ставим либу - Morphos - морфология для Вашего сайта на PHP. Склонение имён, фамилий людей, названий городов, склонение слов и получение формы множественного числа, генерация числительных, форматирование денежных сумм и времени на русском языке.
PHP:
require './vendor/autoload.php';
use morphos\Russian\GeographicalNamesInflection;

echo 'Вы находитесь в городе  '.GeographicalNamesInflection::getCase($geo, 'предложный'); 
echo '<hr>';
echo 'Вы из города '.GeographicalNamesInflection::getCase($geo, 'родительный');

Не, я не то чтобы выпендриваться - за то что поделился тебе респект. 128 (4)
 

ddn128, а вот это как раз то что я тогда и хотел сделать, определять город и выводить на мульти-ленде в тексте со склонениями - склонения так и не доделал - забил) Так что твой вариант мне в будущем пригодится.
P.S. мой все-таки проще - скопировал, вставил - работает. Новичкам подойдет.
 

Последнее редактирование:

Обратите внимание

Назад
Сверху