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

ghst713

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

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

Рекламное сообщение
📲 Pirate Numbers - Надежные и Безопасные номера для приема SMS/Звонков на длительный срок

✅ Преимущества нашего сервиса:
  • 💸 Низкая стоимость аренды номеров для такого качества услуг;
  • 🤝 Прямое соглашение с операторами (гарантирует оперативное решение возникших вопросов);
  • 🌎 Доступно большинство стран мира;
  • 📲 Номер активен 24/7;
  • 📬 Мгновенное перенаправление SMS-сообщений на ваш Telegram/E-mail/Телефон;
  • 📞 Возможность подключения номера для принятия голосовых сообщений/звонков в Telegram (поддерживается не во всех странах);
  • 🕒 Круглосуточная поддержка;
  • 💰 Скидки при долгосрочной аренде и постоянным клиентам;
➡️ Подробнее
 

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

Скачиваем с офсайта 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. мой все-таки проще - скопировал, вставил - работает. Новичкам подойдет.
 

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

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

Назад
Сверху