TimeZone

Як визначити геолокаційні дані користувача
Як визначити геолокаційні дані користувача

Для того щоб визначити локацію користувача, нам знадобиться його IP та база даних зі списком IP-адрес і прив’язаними до них територіальними даними. Але оскільки приклад з БД ми вже реалізовували раніше, у цій статті, то сьогодні ми трохи ускладнимо завдання і будемо взаємодіяти зі стороннім сервісом через його API, отримуючи у відповідь всю цікаву нам інформацію — часовий пояс, широту, довготу, країну та місто.

читати далі...

Як визначити регіон IP на PHP використовуючи БД
Як визначити регіон IP на PHP використовуючи БД

У цій статті розглянемо один із варіантів визначення локації користувача за його IP-адресою. А саме — з використанням існуючої бази регіонів та присвоєних їм IP-адрес мережі.

Існуючих баз даних доволі багато. Але мені довелося мати справу з базою від сайту ip2location.com. Нічого поганого про цю базу сказати не можу, оскільки моя область і регіони деяких моїх клієнтів були успішно знайдені.

Перше, що нам знадобиться — це завантажити файл з базою даних. Вони надають його у форматі CSV. Завантажити файл можна з цієї сторінки.

Імпорт даних з файлу регіонів та IP

Дотримуйтесь інструкції в описі — це зекономить вам час. Я спочатку вирішив спробувати імпортувати дані через phpMyAdmin (використовуючи імпорт CSV), і це зайняло набагато більше часу, ніж консольний імпорт.

читати далі...

Як отримати час усіх таймзон (timezone) на PHP
Як отримати час усіх таймзон (timezone) на PHP

Для того щоб отримати масив списку всіх таймзон із різницею у часі відносно Гринвіча, використовуйте наступну функцію:

function get_time_timezones()
{
	$zones_array = array();
	$timestamp = time();
	
	$default_timezone = date_default_timezone_get();
	$timezone_list = timezone_identifiers_list();
	
	foreach ($timezone_list as $zone)
	{
		date_default_timezone_set($zone);
		$zones_array[$zone] = date('P', $timestamp);
	}
	
	date_default_timezone_set($default_timezone);
	
	return $zones_array;
}

читати далі...