ДоХтор, спасибо. Я уже по другому сделал, добавил дополнительный файл для контроля, в котором проверяется, какая цифра была предыдущей.
ДоХтор, спасибо. Я уже по другому сделал, добавил дополнительный файл для контроля, в котором проверяется, какая цифра была предыдущей.
# Sitego (31.08.2017 / 13:15)Дополнил свой пост.
ДоХтор, спасибо. Я уже по другому сделал, добавил дополнительный файл для контроля, в котором проверяется, какая цифра была предыдущей.
ДоХтор, надо будет попробовать ради интереса. Но сразу скажу, что к скрипту обащаюся не обычные браузеры, а медиа-плееры. Хотя у них есть тот же User-Agent и по работе похожи на браузеры, но иногда некоторые плееры ведут себя неадекватно (это я на счёт сессий).
# Sitego (31.08.2017 / 23:20)Тогда наверное лучше оставить на сессиях, т.к. вариант на файлах будет отрабатывать для всех агентов одинаково.
ДоХтор, надо будет попробовать ради интереса. Но сразу скажу, что к скрипту обащаюся не обычные браузеры, а медиа-плееры. Хотя у них есть тот же User-Agent и по работе похожи на браузеры, но иногда н
Блин, не знаю, как правильно задать вопрос поисковикам и они мне выдают кучу ненужного хлама.
В общем, нужно на php преобразовать для переменной, например, вот это Europe/Moscow в вот это +3, а вот это Europe/London в вот это 0. И так для всего мира, временную зону в числовое значение -2 или -1 или 0 или +1 или +2 и так далее...
Как-то так.
Sitego, посмотри тут: https://www.google.com.ua/url? ... FwcPa
// смещение по Гринвичу в часах
date('Z')/60/60;// Тут запросом из базы ты достал значение Europe/Berlin,
// которое к примеру лежит в массиве $row['tz']
// тогда просто подставь его в массив $users_time_zones, и получишь на выходе нужное смещение :
// Для демонстрации принципа явно присвоим в массив временнУю зону юзера
$row['tz'] = 'Europe/Berlin';
// Допиши в массив недостающие временные зоны
$users_time_zones = [
'Europe/Moscow' => 3,
'Europe/London' => 0,
'Europe/Berlin' => -1
];
echo $users_time_zones[$row['tz']]; // Вернёт -1<?php
date_default_timezone_set('UTC');
$timezone = 'Europe/Berlin';
$offset = timezone_offset_get(timezone_open($timezone), new DateTime);
$offset = ($offset / 3600) - 3;
var_dump($offset);ДоХтор, вот спасибо тебе, это именно то, что мне нужно ![]()
# Sitego (02.10.2017 / 20:03)Этот пример я взял с этой странички мануала: timezone_offset_get из комментария внизу, и не много его (этот пример) изменил ))
ДоХтор, вот спасибо тебе, это именно то, что мне нужно