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

Очень часто складывается такая ситуация, когда у владельца сайта возникает ощущение того, что его сайт скушен и малоинформативен. Особенно этим страдают владельцы небольших по объему контента сайтов. Тогда они начинают его нагружать всякого рода информерами курсов валют, погоды, гороскопов, баннерами, контекстной рекламой и т.п. в надежде как-то оживить сайт и повысить его смысловую нагрузку.
Как один из вариантов, предлагаю вам установить на своем сайте показ текущих праздников. В Рунете существует несколько сервисов, предлагающих графические информеры по данной тематике. Однако, готовые дизайны не всегда эстетично смотрятся на сайтах, поэтому мы будем делать свой информер праздников на 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, в соответствии с дизайном вашего сайта.
Успехов в работе!
Всё самое новое и интересное из мира Вордпресс в моём Телеграм-канале. Подписываемся!
У меня в текстовом файле всего 30 строк (только по числу) и почему-то все числа считываются кроме первого числа т.е. если $holiday=date(d); =01 то echo $b3; ничего не пишет а если $holiday=date(d); = любому другому числу до 30 то все работает . ПОЧЕМУ ТАК?????