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