. . . Проект: календарь событий
Печать: Шрифт: Абв Абв Абв
danilov 26 Февраля 2006 в 22:34:21
Проект: календарь событий

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

Информация о событиях хранится в обычном текстовом файле и выглядит примерно так:

Quote:
July 21, 2000|8 p. m.|Cooking With Rasmus|PHP creator Rasmus Lerdorf discusses the wonders of cheese.

July 23, 2000|11 a. m.|Boxed Lunch|Valerie researches the latest ham sandwich making techniques (documentary)

July 31, 2000|2:30p.m.|Progressive Gourmet|Forget the Chardonnay: iced tea is the sophisticated gourmet's beverage of choice.

August 1, 2000|7 p.m.|Coder's Critique|Famed Food Critic Brian rates NYC's hottest new Internet cafes.

August 3, 2000|6 p.m.|Australian Algorithms|Matt studies the alligator's diet.


Прежде чем переходить к подробному анализу кода, потратьте немного времени на изучение алгоритма:

  • Открыть файл, содержащий информацию о событиях.

  • Разделить каждую строку на 4 элемента: дату, время, название и краткое описание мероприятия.

  • Отформатировать и вывести данные.

  • Закрыть файл.

  • Листинг 3.1. Сценарий для вывода содержимого events.txt в браузере

    <?
    // Приложение: календарь
    // Назначение: чтение и анализ содержимого файла
    // с последующим форматированием для вывода в браузере
    // Открыть файловый манипулятор Sevents для файла events.txt
    $events - fopen ("events.txt". "r");
    print
    "<table border = 0 width = 250>"
    print "<tr><td valign=top";
    print
    "<h3>Events Calendar:</h3>";
    // Читать, пока не будет найден конец файла
    while (! feof(Sevents)) :
    // Прочитать следующую строку файла events.txt
    $event = fgets($events. 4096);
    // Разделить компоненты текущей строки на элементы массива
    $event_info = explode("|". Jevent);
    // Отформатировать и вывести информацию о событии
    print "$event_info[0] ( $event_info[1] ) <br>";
    print
    "<b>$event_info[2]</b> <br>";
    print
    "$event_info[3] <br> <br>";
    endwhile;
    // Завершить таблицу
    print "</td></tr></table>";
    fclose ($events);
    ?>


    Этот короткий пример убедительно доказывает, что РНР позволяет даже неопытным программистам создавать реальные приложения с минимальными усилиями и затратами времени. Если какие-нибудь из представленных концепций покажутся непонятными, не огорчайтесь — на самом деле они очень просты и будут подробно описаны в следующих главах.
    Добавить сообщение
    Чтобы добавлять комментарии зарeгиcтрирyйтeсь