С самого рождения своего блога, я решил, что хочу наблюдать за тем, сколько дней прошло после его запуска, то есть мне понадобился некий счетчик возраста.
Конечно можно воспользоваться разными сервисами, которые предоставляют такую услугу и найти их без труда можно в яндексе или гугле.
А что если вы, как и я решите установить счетчик возраста к себе на сайт или блог? Если немного покопаться в том же яндексе или гугле, то можно придти к выводу, что таких счетчиков не особо много, а если они и есть, то достаточно технически сложны для понимания. Однако это не наш метод. Мы же разработчики и изучаем языки программирования, поэтому мы должны написать этот счетчик сами.
Но прежде, чем начать его писать, давайте зададимся вопросом — зачем он вообще нужен? Может быть он вам и не нужен совсем. Конечно, особой практической ценности в нем нет. Это может быть просто интересно самому блогеру посмотреть, сколько его блог уже живет на просторах интернета, да и просто зашедшему посетителю.
На чем писать счетчик?
Ну, поскольку мы с вами изучаем PHP, то наверно и писать будем на нем. Постойте… , это не лучший вариант. Почему? Потому что, если посмотреть на счетчики, такие как яндекс-метрики, LiveInternet и другие, то все они написаны на JavaScript. Давайте мы тоже напишем наш счетчик на этом языке, но при этом немного PHP мы все же используем. Здесь нет ничего сложного и я покажу вам, как из нескольких строк кода соорудить наш возраст блога. Кстати этот счетчик можно устанавливать не только на блоги, но и на обычные сайты.
Возраст блога с помощью JavaScript
Итак, давайте напишем функцию на JavaScript, которая и будет высчитывать наш возраст:
1 2 3 4 5 6 7 8 9 10 11 12 |
<script type="text/javascript"> function lifeSite() { var start = new Date('December 12, 2012'); // Дата создания сайта var end = new Date(); var life = Math.round((end.getTime() - start.getTime()) / (1000 * 60 * 60 * 24)); var suffix = new Array("день", "дня", "дней"); var keys = [2, 0, 1, 1, 1, 2]; var mod = life % 100; var suffix_key = mod > 4 && mod < 20 ? 2 : keys[Math.min(mod%10, 5)]; document.getElementById("life_site").innerHTML = life + " " + suffix[suffix_key]; } </script> |
Обрати внимание, в поле, где мы присваиваем переменной var start экземпляр класса Date обязательно нужно поставить свою дату создания блога. В начале идет название месяца на английском языке, затем номер этого месяца и год.
Важно: данный скрипт необходимо поместить между открывающим и закрывающим тегом head.
Далее в теге body мы прописываем следующую вещь:
1 |
<body onload="lifeSite()"> |
Этой записью мы вызываем нашу функцию, которую описали в JavaScript коде.
Следующим шагом будет написание кода на PHP, который необходимо поместить сразу после тега body:
1 2 3 4 |
<?php define('ST_T', microtime(true)); //начало ?> |
Здесь мы задаем константу, в которой хранится начало нашего отсчета времени.
Теперь нам необходимо вывести информацию о возрасте блога. Выводить ее можно в любом месте, но у меня она выведена в конце блога в футере перед закрывающим тегом body:
1 |
<p align="center" class="blog-age">Этот блог существует уже: <span id="life_site" style="color: #FF7200; font-size: 120%; font-weight: bold;"></span></p> |
В данном случае у меня к тегу p применен класс blog-age для того, чтобы применить стили CSS. Я не буду их описывать, так для каждого блога они будут свои.
Вот таким вот не хитрым способом можно установить свой счетчик возраста сайта.