![]() |
![]() КЛЮЧИ К ИГРАМ, ПИН-КОДЫ, ИГРОВЫЕ ЦЕННОСТИ, ПРОГРАММЫ... |
ГЛАВНАЯ WEB-МАГАЗИН МАРКЕТ ДВИЖКИ PHP САЙТЫ SSI ПРОГРАММЫ СТАТЬИ КОНТАКТЫ |
НА СТРАНИЦАХ САЙТА
Сайт на движке PHP Качественный и надежный хостинг Здесь можно определить ТИЦ сайтов и скачать скрипт Пакет бланков для регистрации в ОУФМС Оптимизация страниц сайта для поисковых запросов Как иметь всегда чистую Windows без переустановки
Как сделать страницу отправки сообщений с сайта
КОРРЕКЦИЯ ВРЕМЕНИ СЕРВЕРА ДЛЯ СТРАНИЦ САЙТА
Первоначальный вариантВремя сервера для страниц сайта PHP можно скорректировать посредством функции date(). В каких случаях это может потребоваться? Если сервер хостинга, на котором размещен сайт, находится, например, в Западной Европе, в 0-ой временной зоне (часовом поясе), соответствующей Гринвичскому меридиану (Лондон), а компьютер администратора сайта в 3-ей временной зоне (Москва), то разность во времени составляет 3 часа. Когда время в 3-ей временной зоне 18.00, то в 0-ой временной зоне 15.00. Поэтому, если на какой-либо странице сайта посредством скрипта:
<?php
echo date("d-m-y, H:i"); ?> выводится дата и текущее время, то администратор сайта, находящийся в 3-ей временной зоне, увидит на странице время, меньшее на 3 часа, по сравнению с временем таймера своего компьютера.
Оптимальным вариантом для этого случая был бы вывод времени 3-ей временной зоны, учитывая, что для жителей России, просматривающих, как правило, русскоязычные сайты, Московское время (МСК) более привычно.
Реализовать коррекцию времени может следующий скрипт:
<?php
$tz = 3; $d = date("d"); $m = date("m"); $y = date("y"); $H = date("H"); $i = date("i"); if (!$tz == "") $H = $H + $tz; if ($H >= 24) {$H = $H - 24; $d = $d + 1;} $date = $d.'-'.$m.'-'.$y.','.' '.$H.':'.$i; ?> В строке: $tz = 3; переменной $tz присваивается значение разности между временными зонами (time zone) сервера и компьютера. Если сервер расположен восточнее местоположения компьютера, то разность вводится со знаком минус.
В строках:
$d = date("d"); $m = date("m"); $y = date("y");
переменным присваиваются значения переменных функции date(). В строке: if (!$tz == "") $H = $H + $tz; проверяется условие и, если оно истинно, переменной текущего часа $H присваивается значение, увеличенное на разность временных зон $tz. В строке: if ($H >= 24) {$H = $H - 24; $d = $d + 1;} проверяется условие и, если оно истинно, переменной текущего часа $H присваивается значение, уменьшенное на 24, а переменной числа даты $d присваивается значение, увеличенное на 1. Таким образом, если текущий час становится равным или большим 24 часов за счет добавления разности временных зон, то его значение приводится к необходимому соответствию, а число даты увеличивается на 1 после наступления полуночи по скорректированному времени. В строке: $date = $d.'-'.$m.'-'.$y.','.' '.$H.':'.$i; переменной $date присваиваются значения скорректированных переменных функции date(). Для коррекции времени переменная $date должна быть использована в скриптах вместо функции: date("d.m.y, H:i"). Перед загрузкой файлов на сервер, нужно ввести в выражение переменой $tz число, соответствующее фактической разности временных зон местоположений компьютера и сервера. Скрипт должен быть размещен в начале файла index.php, или в файле, который подключается в начале файла index.php. Для тестировании скрипта на компьютере, если установлен Денвер, или аналогичное приложение, необходимо добавить в скрипт строку: echo $date; После выполнения скрипта в окне браузера должны отобразиться дата и время, увеличенное на установленную разность временных зон, по сравнению со временем таймера компьютера. Для данного примера - увеличенное на 3 часа. Чтобы после выполнения скрипта в окне браузера отобразилось время, соответствующее времени таймера, нужно в скрипте предварительно установить: $tz = 0; Второй вариантЭтот вариант более оптимальный и рациональный. Скорректировать время возможно посредством найденной в расширенном Руководстве PHP функции strtotime(). Для ранее рассмотренного примера:
<?php
echo date('d-m-y, H:i', strtotime("+3 hours")); ?> Если скрипт тестировать на компьютере, например, при использования Денвера, то отобразится время, большее на 3 часа, чем системное время компьютера администратора сайта. Если этот скрипт будет содержать страница, размещенная на сервере, расположенном западнее в соответствующей временной зоне, то при ее открытии выведенное время будет совпадать с системным временем компьютера. Возможно использование переменой для разности временных зон:
<?php
$tz=3; $date=date('d-m-y, H:i', strtotime("+$tz hours")); echo $date; ?> |