БлогNot. PHP: меняем картинку в зависимости от времени года

PHP: меняем картинку в зависимости от времени года

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

Так что вот в свободную минутку архивный кусочек кода, примерно такая же задачка, как со "временем суток", только здесь был нужен вывод скриптом картинки, зависящей от времени года. Ну и само время года чтоб в коде настраивалось, когда какое наступает.

Поможет формат "z" функции date (номер дня в году начиная с нуля) и определение с помощью функции strtotime интервалов дат, соответствующих сезонам года (не всегда удобно их задавать "по месяцам", у нас, например, зима с 15 ноября по 15 марта примерно :)

Вот ссылка на этот пример в работе и полный листинг скрипта.

 Этот пример в работе (откройте в следующем сезоне, чтобы увидеть следующую картинку :)

<?php
 function current_season() {
  $icons = array ( // сезон => возвращаемое слово
   'spring' => 'spring', 'summer' => 'summer','autumn' => 'autumn','winter' => 'winter'
  );

  $day = date('z'); //Номер дня в году
  //Месяцы и дни для границ сезонов, укажите по-английски как в образце
  $spring_starts = date('z', strtotime('March 15'));
  $spring_ends   = date('z', strtotime('May 31'));
  $summer_starts = date('z', strtotime('June 1'));
  $summer_ends   = date('z', strtotime('August 31'));
  $autumn_starts = date('z', strtotime('September 1'));
  $autumn_ends   = date('z', strtotime('November 14'));
  //Остальное - зима :)

  if ($day >= $spring_starts && $day <= $spring_ends) $season = 'spring';
  else if ($day >= $summer_starts && $day <= $summer_ends) $season = 'summer';
  else if ($day >= $autumn_starts && $day <= $autumn_ends) $season = 'autumn';
  else $season = 'winter';

  $image_path = $icons[$season];
  return $image_path;
 }

 //Пример вызова функции
 $season = current_season();
 echo '<img src="'.$season.'.gif" alt="'.$season.'" title="'.$season.'"/>';
           //Впишите в атрибут src правильный путь к картинке!
?>

Конечно, картинки "весна-осень-лето-зима" не обязаны находиться в текущей папке и иметь формат .gif, как в моём примере. Если картинки, например, хранятся во вложенной папке images и имеют тип .png, то последняя строчка скрипта изменится на

echo '<img src="images/'.$season.'.png" alt="'.$season.'" title="'.$season.'"/>';

Дерево, времена года - анимация .gif в тему
Дерево, времена года - анимация .gif в тему
Ещё gif-анимация "Времена года" из 4 кадров, прозрачный фон
Ещё gif-анимация "Времена года" из 4 кадров, прозрачный фон

23.07.2018, 19:10 [3083 просмотра]


теги: картинка php погода дата

К этой статье пока нет комментариев, Ваш будет первым