Информер праздников на PHP

Опубликовано 13 лет назад

Показываю один из самых простейших способов вывода на сайте текущих праздников без использования базы данных.

Очень часто складывается такая ситуация, когда у владельца сайта возникает ощущение того, что его сайт скушен и малоинформативен. Особенно этим страдают владельцы небольших по объему контента сайтов. Тогда они начинают его нагружать всякого рода информерами курсов валют, погоды, гороскопов, баннерами, контекстной рекламой и т.п. в надежде как-то оживить сайт и повысить его смысловую нагрузку.

Как один из вариантов, предлагаю вам установить на своем сайте показ текущих праздников. В Рунете существует несколько сервисов, предлагающих графические информеры по данной тематике. Однако, готовые дизайны не всегда эстетично смотрятся на сайтах, поэтому мы будем делать свой информер праздников на PHP в едином стиле с вашим сайтом.

Что потребуется:

PHP 4 или 5 версии и 5 минут свободного времени.

Основным источником информации информера праздников является база данных с датами и названиями праздников. В нашем примере роль БД будет выполнять текстовый файл. Однако при желании скрипт можно легко переделать и под использование в качестве БД MySQL. Скачать базу праздников можно здесь.

А теперь, собственно, и сам PHP скрипт, который выбирает из БД праздники в соответствии с текущей датой и выводит их на экран.

PHP-код:

$holiday=date(d);
$holimonth=date(m);
$holiyear=date(Y);
$file = file ("holidays.dat");
$blines = count ($file);
for ($k=0; $k<$blines; $k++){
list ($b0, $b1, $b2,  $b3) = explode ("::",$file[$k]);
$array[$k] = array ($b0, $b1, $b2, $b3);
if ($b0==$holiday and $b1==$holimonth) {
if ($b2=='0000') {echo '';} else {echo 'В ',$b2,' году ';}
echo $b3;
echo '
'; 
}
}

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

Успехов в работе!

Иван Данилин
Автор Иван Данилин

Фулстек веб‑разработчик, специализируюсь на платформе WordPress

Подробнее
Комментарии
  1. В нашем примере роль БД будет выполнять текстовый файл?

    У меня в текстовом файле всего 30 строк (только по числу) и почему-то все числа считываются кроме первого числа т.е. если $holiday=date(d); =01 то echo $b3; ничего не пишет а если $holiday=date(d); = любому другому числу до 30 то все работает . ПОЧЕМУ ТАК?????
    • На одном уровне с исполняемым файлом. Или в любом другом, подкорректировав путь к файлу базы: $file = file («holidays.dat»);
Добавить комментарий