Зависимость дизайна сайта от времени года

Чтобы ваш сайт не смотрелся скучным, можно постоянно менять ему дизайн. Если этот процесс автоматизировать, чем мы сейчас и займёмся, меняя дизайн, например, в зависимости от времени года (лето, осень, зима, весна), то получится отличный эффект.

Один из вариантов, который на мой взгляд является наиболее правильным, - подмена css -файла в зависимости от времени года. В этом нам поможет РНР.

Чтобы определить, какое сейчас время года, напишем функцию:


<?php
function getSeason() {
    $seasons = array(
    	0 => 'winter', 
    	1 => 'spring', 
    	2 => 'summer', 
    	3 => 'autumn'
    );
    return $seasons[floor(date('n') / 3) % 4];
}
?>

Знак процента — деление по модулю

Вставим нашу функцию в HTML-код:


<html>
	<head>
	<link rel="stylesheet" type="text/css" href="<?php echo getSeason()?>.css" />
	</head>
</html>

По аналогии можно менять стили в зависимости от времени суток, праздников. По данному алгоритму работает сайт Сеймчан.Ру

RTFM

Для вставки кода используйте HTML-теги
<pre><code class="php">ваш код</code></pre>

  • disqusashto

    дизаИн?

    • Не понял сути?

  • Хе-хе!

    Уточняю вопрос:
    Как пользователю из Австралии 23-го февраля «показать лето», а пользователю из Финляндии — зиму.

  • Как быть с южным и северным полушарием?
    Для южного полушария лето — декабрь, январь, февраль.

  • О, спасибо, взял на заметку

  • golver

    В принципе всё ясно, но есть одна деталь которую так и не смог найти нигде. В строке return $seasons[ floor(date('n') / 3) % 4 ]
    Что означает знак процента и цифра 4?

    Моё мнение, надо пояснять скрипт при его публикации.
    date('n') — возвращает порядковый номер месяца от 1 до 12;
    которую делим на 3 (/3);

    получаем 1,2,3 месяцы деленные на 3 дают дробное число меньше 1
    4,5,6 месяцы деленные на 3 дают больше 1, но меньше 2 и т.д.

    Далее функция floor() округляет дробное число до целого в меньшую сторону — отсюда вариантов ответа четыре — (0,1,2,3).
    Собственно, возвращаем массив $seasons[] с ключем, полученным из floor():

    0 то зима;
    1 — весна;
    2 — лето;
    3 — осень;

    Символ процента и цифра 4, я так понимаю помагают нам внести поправку на то, что зима у нас 12, 1, 2 месяцы и т.д. Объясните пожалуйста что же это за магические символ процента и цифра 4?

    • % — деление по модулю

    • Если возникают вопросы такого характера, то советую всегда для начала смотреть мануал (тоже по-русски) — там есть все ответы.

      Также можете заглянуть в раздел «Шпаргалки» — здесь вы найдете мануал по РНР в формате CHM.