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

ghst713

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

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

Рекламное сообщение

⚡Создайте любое изображение, которое можете вообразить с помощью нейросети Fooocus & Stable Diffusion.

За 2 месяца вы научитесь с помощью нейросети Fooocus и передовых моделей SDXL от Stable Diffusion создавать визуальные работы, которые будут выделяться в лентах социальных медиа и придадут уникальность вашим проектам. Вы начнете свой путь именно с изучения нейросети Fooocus, где мы расскажем все о генерации крутых изображений. Затем перейдем к архитектуре, музыке, видео и многому другому. Все будет происходить постепенно. И все это под руководством куратора Ильи Тимонина и его команды!

➡️➡️➡️ Подробнее о клубе
 

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

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

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

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

Назад
Сверху