Главная страница
Навигация по странице:

  • ".$newslable."

  • Курсовой_проект__Сайт_на_php_-27_12_2010. Курсовой проект "Сайт на php"


    Скачать 49.43 Kb.
    НазваниеКурсовой проект "Сайт на php"
    Дата24.04.2022
    Размер49.43 Kb.
    Формат файлаdoc
    Имя файлаКурсовой_проект__Сайт_на_php_-27_12_2010.doc
    ТипКурсовой проект
    #492997

    Курсовой проект "Сайт на php"

    от oneslash | skachatreferat.ru


    Содержание
    Введение 3
    1. Анализ предметной области 6
    1.1 Анализ существующих аналогов 6
    1.1.1 Сайт на основе Joomla! 6
    1.1.2 Сайт на основе WordPress 7
    1.1.3 Сайт на основе DLE 8
    1.2 Постановка задачи 8
    2. Разработка web-приложения 10
    2.1 Обоснование выбора языка программирования и среды разработки 10
    2.2 Разработка спецификаций требований к программному средству 11
    2.3 Разработка архитектуры программного средства 12
    2.4 Разработка схемы алгоритма формирования фотогалереи 13
    2.5 Разработка схемы алгоритма добавления записи в гостевую книгу 13
    3. Методика работы с разработанным программным средством 16
    Заключение 20
    Список использованных источников 21
    Приложение А Модуль создания новой страницы 22
    Приложение Б Модуль добавления новостей и статей 23
    Приложение В Модуль добавления записи в гостевую книгу 24
    Приложение Г Модуль фотогалереи 25

    * Введение

    Internet развивается довольно стремительно. Быстро растет количество изданий, посвященных сети, что предвещает широкое ее распространение даже в далеких от техники областях. Internet превращается из большой игрушки для интеллектуалов в полноценный источник разнообразной полезной информации для любой категории пользователей.
    Каждый из нас сейчас может сделать свой вклад в развитие Internet. Для этого достаточно создать свой веб-сайт и разместить его в сети.
    В настоящее время Интернет предлагает нам удивительное многообразие информации. Это и текст, и графика, и анимация, и видео, а также звук. И все это великолепие мы видим на страницах различных web-сайтов.
    Информация, которую браузер передает на сервер в качестве запроса и которую получает от него в ответ, передается, как правило, по протоколу HTTP.
    Web-страницы, которые вы видите на экране, блистающие многообразием цветов и форм представленных на них объектов, на деле представляютсобой всего лишь текстовые файлы, в которых содержатся определенные инструкции. Эти инструкции предписывают браузеру, что и как следует показывать на данной странице.
    В простейшем случае исходный текст Web-страницы пишется на языке HTML. Это характерно для сайтов-визиток, а также для домашних страниц. Как правило информация на таких сайтах статична и остается без изменения долгое время. При необходимости изменить что-либо в содержании такой web-страницы, пользователю необходимо открыть исходный код, и вручную, с использованием языка разметки HTML внести соответствующие изменения. Это очень усложняет задачу, если, например, пользователь не знает данного языка, и он не в силах внести изменения сам, без участия человека, который сверстал данный сайт-визитку.
    В более сложных случаях сайт является динамическим. Это значит, что содержимое web-страниц возможно изменять не прибегая к программированию, т.е. средствами самого сайта.
    Наиболее распространенным языком, предназначенным для написания web-приложений является PHP. Он весьма популярен во многом благодаря своей бесплатности. Язык скриптов напоминает своим синтаксисом язык C. Имеется множество дополнительных библиотек для работы с различными базами данных, с документами PDF, с GIF-файлами. Часто PHP увязывается в одно с такой же бесплатной базой данных как MySQL. Существует множество провайдеров, предоставляющих хостинг со связкой Apache/PHP/MySQL. В настоящее время разработчики PHP утверждают, что этот язык используется на 1.000.000 узлах.
    Целью данного курсового проекта является создание web-приложения динамического типа. Упор будет сделан на удобство работы пользователя с данным сайтом. Ведь в настоящее время разработка дружеского пользовательского интерфейса – одна из первостепенных задач. К тому же именно удобства работы и не хватает многим современным сайтам. На сайте будут иметьсявозможности добавления новостей на страницы, добавления фотографий в галерею, добавление записи в гостевую книгу посетителями данного сайта. Другими словами, сайт будет иметь довольно обычные возможности, но с максимальным удобством, что, впрочем, и необходимо рядовому пользователю.
    Что же касается непосредственно организации праздников, то их проведение на сегодняшний день стало общепринятой практикой. Праздничная атмосфера красиво оформленного зала в корпоративных цветах компании и праздничный стол, демонстрируют значимость каждого сотрудника, а награждение лучших в перерывах между выступлениями артистов, несомненно, повысят производительность сотрудников. Праздничный отдых является важным и необходимым элементом современной культуры. Поэтому каждому, кто решил сегодня взяться за организацию праздничных мероприятий необходим полноценный, красивый и удобный web-ресурс для привлечения потенциальных клиентов. Один из таких ресурсов будет создан в рамках данного курсового проекта.

    Анализ предметной области
    Анализ существующих аналогов
    В настоящее время на просторах интернета существует множество различных web-сайтов. Среди них есть и сайты с приоритетным графическим интерфейсом, и с приоритетным текстовым (например, информационные новостные сайты), а также сайты, созданные с использованием Flash технологий.
    Множество сайтов, которые мы видим выходя в интернет построены на каком-либо движке. Движок может быть создан с нуля, однако в большинстве случаев используются уже известные, проверенные временем движки, тем более, что большинство из них доступны в свободное пользование.
    Рассмотрим самые популярные движки, которые существуют на сегодняшний день.
    Сайт на основе Joomla!
    Joomla! — движок, написанный на языках PHP и JavaScript, использующий в качестве хранилища базу данных MySQL. Является свободным программным обеспечением,распространяемым под лицензией GNU GPL.
    Joomla! является ответвлением широко известной CMS Mambo. Команда независимых разработчиков отделилась от проекта Mambo по причине несогласия в экономической политике. И 16 сентября 2005 года в свет вышла первая версия Joomla!, являющаяся по сути переименованной Mambo 4.5.2.3 включающая в себя исправления найденных на тот момент ошибок и уязвимостей. [2]

    Рисунок 1 – Сайт, написанный на основе Joomla!
    Достоинства:
    1) Система шаблонов позволяет легко изменять внешний вид сайта
    2) все модули, компоненты, плагины, шаблоны можно написать самому, разместить их в структурированном каталоге расширений или отредактировать существующее расширение по своему усмотрению.
    Недостатки:
    1) Требует базы данных MySQL, которая может отсутствовать в некоторых тарифных планах хостинг-провайдеров. Также невозможно запустить сайт, написанный на основе Joomla на бесплатных хостинг-площадках, позволяющих использование сайтов на PHP, но в большинстве своем не имеющие возможности для создания баз MySQL
    2) Чрезмерно большое количество настроек, опций и возможностей усложняет восприятие администрирования сайтов на основе Joomla!
    Сайт на основе WordPress
    WordPress — движок с открытым исходным кодом, распространяемый под GNU GPL. Написан на PHP, в качестве базы данных использует MySQL. Сфера применения — от блогов до достаточно сложных новостных ресурсов и интернет-магазинов. [3]

    Рисунок 2 – Сайт на основе WordPress

    Достоинства:
    1) WordPress является бесплатным
    2) Имеет огромное количество плагинов и готовых шаблонов;
    3) Требования к хостингу минимальны
    Недостатки:
    1) Требует базы данных MySQL
    2) Чрезмерно большое количество настроек, опций и возможностей усложняет восприятие администрирования
    Сайт на основе DLE
    DataLife Engine (DLE) — движок, написанный на языке PHP. Вкачествебазы данных используется MySQL.
    DataLife Engine представляет из себя коммерческое программное обеспечение для управления контентом, разрабатываемое SoftNews Media Group. Стоимость лицензии на один домен составляет 89$ при покупке на один год и 156$ при покупке пожизненной лицензии, для получения дополнительной поддержки клиенту предлагается заплатить 19$. После покупки скрипта клиенту предоставляется продукт с открытым исходным кодом и без ограничения на время использования. Основной язык системы - русский. Однако существует английская локализация. [4]

    Рисунок 3 – Сайт на основе DLE
    Достоинства:
    1) Возможность подключения сторонних модификаций за счёт открытости исходного кода скрипта
    2) Имеет такие опции как флуд-контроль, рейтинг новостей, вывод популярных статей в отдельном блоке
    3) Администраторский раздел вполне удобен, однако несколько перегружен
    Недостатки:
    1) Использует для хранения данных MySQL, оптимизировать которую не возможно, да и не очень то и хотелось, если на хостинге нет MySQL
    2) Настройка дизайна затруднительна
    3) Движок не является бесплатным
    Постановка задачи

    Проанализировав несколько существующих движков, на основе которых создаются web-сайты, были выявлены следующие недостатки:
    1) большинство рассмотренных движков имеют очень сложный интерфейс;
    2) начинающему пользователю сложно справиться с большим количеством настроек, опций и возможностей, встроенных в рассмотренные движки;
    3) некоторые движки являются платными;
    4) наличие некоторых возможностей являются несколько неуместными при создании простого динамического сайта.
    Исходя из этих недостатков, а также достоинств существующих движков, было принято решение написать web-сайт с использованием собственного джижка, имеющего минимальный необходимый функционал. При этом были выдвинуты следующие требования кразрабатываемому проекту:
    1) разрабатываемое web-приложение должно быть написано на одном из известных языков программирования, таком как PHP с использованием языка разметки HTML;
    2) разработать и реализовать удобный интерфейс для пользователя и посетителя. Это будет одно из важнейших требований, т.к. в настоящее время разработка дружеского пользовательского интерфейса – одна из первостепенных задач при разработке любого программного средства;
    3) необходимо существование: новостной страницы, страницы-галереи, гостевой страницы, и страницы обратной связи по средствам e-mail;
    4) разрабатываемое web-приложение должно позволять автоматическое добавление необходимой информации на страницы, такой как текст в новостном разделе и фотографии в галерее.

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

    Разработка web-приложения
    Обоснование выбора языка программирования и среды разработки
    В качестве основного языка программирования был выбран язык PHP.
    PHP - это серверный язык создания сценариев. Конструкции PHP, вставленные в HTML-текст, выполняются сервером при каждом посещении страницы. Результат их обработки вместе с обычным HTML-текстом передается браузеру.
    В настоящее время основной версией PHP является пятая. Существуют два основных конкурента PHP: Active Server Pages (ASP) компании Microsoft и ColdFusion компании Allaire. По сравнению с ними PHP обладает рядом преимуществ, в числе которых:

    * Высокая производительность.  PHP-программы работают быстрее, чем ASP.
    * Функциональность. Разработку PHP-программыможно отделить от собственно разработки Web-страницы, что упростит жизнь и программисту, и дизайнеру.
    * Цена. PHP абсолютно бесплатен.
    * Простота в использовании. Имеющие опыт программирования на распространенных языках найдут синтаксис PHP хорошо знакомым.
    * Переносимость. Один и тот же PHP-код можно использовать как в среде NT, так и на платформах UNIX.

    В качестве сред разработки были выбраны программы Adobe Dreamveawer и NotePad++
    NotePad++. Эта программа похожа на Блокнот, однако разработчики специально предусмотрели некоторые удобства для того, чтобы писать код PHP (а также языков HTML, Java, С, C++, Perl и т.д). Это выражается в том, что при написании PHP - приложения весь код очень наглядно подсвечивается. В отличие от Блокнота, NotePad++ — редактор многооконный. В нем можно открыть сразу несколько документов и работать, легко переключаясь между ними с помощью вкладок в верхней части окна.[1]
    Adobe Dreamveawer. Dreamweaver CS3 включает самые прогрессивные возможности и технологии. Тут присутствует полная поддержка формата CSS, с функцией проверки его совместимости с различными браузерами, функциональный редактор кода веб-страниц и возможность работать с такими технологиями, как: XML, JavaScript, PHP, Adobe ColdFusion, ASP и ASP.NET. В новой версии появилась среда для разработки Ajax-приложений, которые могут выполнять самые разные функции (получение информации из RSS каналов и баз данных, создание визуальных эффектов и многое другое), добавлена возможность создания сайтов на основе тегов DIV, реализована тесная интеграция с другими программами Adobe, например, с программой Adobe Device Central CS3, которая поможет создать и протестировать работу веб-сайта для мобильных устройств, а также внесены многие другие нововведения и улучшения [1].
    Разработка спецификаций требований к программному средству
    Требования кразрабатываемому программному средству иллюстрирует рисунок 4:

    Рисунок 4 - UML диаграмма использования

    Спецификация требований:
    1. Пользователю должен иметь возможность создания новой страницы в динамическом сайте в автоматическом режиме из панели администрирования.
    2. Добавление записи посетителем в гостевую книгу должно осуществляться через специальную форму в соответствующем разделе на сайте.
    3. Добавление новой страницы в структуру сайта должно осуществляться на основе заготовленной страницы (т.е. шаблона). Пользователю должен отдать команду на ее создание, и страница будет создана, а также станет доступной для добавление в нее новых новостей и статей.
    4. Необходимо реализовать фотогалерею с автоматической загрузкой фотографий на сайт, а также их последующим отображением.
    5. Просмотр статистики необходимо реализовать в следующем виде: количество просмотров страниц и кол-во уникальных посетителей.
    6. Посетитель должен иметь возможность связаться с владельцем сайта по средствам специальной формы, которая в свою очередь пересылает данное сообщение в виде письма владельцу сайта на его e-mail.

    Разработка архитектуры программного средства

    Исходя из поставленных требований была выбрана следующая архитектура программного обеспечения (Рисунок 5):

    Рисунок 5 - Программная архитектура

    Проект можно разделить на две основные части:
    1.1 Модуль работы со страницами:
    1.1.1 Осуществляет добавление страницы в структуру сайта
    1.1.2 Осуществляет организацию работы с фотографиями
    1.1.3 Осуществляет добавление новостей

    2.1 Модуль дополнительных возможностей:
    2.1.1 Реализует организацию статистики на сайте в виде отчета администратору
    2.1.2 Содержит форму обратной связи, необходимую для передачи сообщения посетителя владельцу сайта
    Разработка схемы алгоритмаформирования фотогалереи

    В данном разделе на рисунке 6 приведена блок-схема алгоритма формирования фотогалереи.
    В первую очередь осуществляется сканирование директории и сбор имен файлов в массив $images[]. Далее, для реализации постраничной навигации получаем количество элементов массива, вычисляем количество страниц, вычисляем нижний и верхний предел для цикла for, внутри которого будет происходить листинг изображений.
    Завершает скрипт блок навигации.  Ранее было вычислено значение переменной $pages, которая указывает полное количество страниц, поэтому запускается цикл в промежутке от 1 до $pages и выводятся ссылки на страницы.
    Разработка схемы алгоритма добавления записи в гостевую книгу

    В данном разделе на рисунке 7 приведена блок-схема алгоритма добавления записи в гостевую книгу.
    Обработка данных php скриптом заключается в проверке введенных данных (длинны, правильности). Наша функция проверяет только длину полученных значений переменных:
    - для имени пользователя – 50 символов
    - для e-mail – 80 символов
    - для сообщения – 1500 символов с учетом пробелов
    Для повышения безопасности создается отдельный php-скрипт gbook_add.php, который берет все значения из глобальной переменной $_POST и при этом заменяет все опасные HTML теги на их эквиваленты, но безопасные.

    Рисунок 6 - Блок-схема алгоритма формирования фотогалереи

    Рисунок 7 - Блок-схема алгоритма добавления записи в гостевую книгу
    Методика работы с разработанным программным средством

    Разработанное в рамках данного курсового проекта web-приложение является весьма простым в использовании как для обычного посетителя, так и для пользователя, который занимается администрированием данного сайта.
    Информационный ресурс является многофункциональным приложением, что позволяет решить большинство самых необходимых задач, при использовании динамического сайта.Посетитель, который зайдет на данный сайт очень легко справится с навигацией, просмотром новостей и фотографий, и по завершению своего серфинга обязательно оставит в гостевой книге какой-нибудь положительный отзыв. Самое главное преимущество разработанного приложения является его бесплатность, т.к. нет необходимости платить за какие-либо навороченные решения в рамках не большего проекта.
    В приложении отсутствуют сложные настройки; всё самое необходимое для администрирования собрано в панели администратора.
    Пошаговое взаимодействие пользователя с программным приложением, разработанным в рамках данного курсового проекта, выглядит следующим образом:
    I. Пользовательский режим
    1) Для запуска приложения необходимо в браузере указать его адрес в интернете. В нашем случае адрес будет test1.ru. Скриншот приложения представлен на рисунке 8.
    2) Далее пользователь, в зависимости от поставленной цели может посетить все разделы сайта, указанные с левой стороны сайта в меню.
    3) В разделе «Фотогалерея» возможен просмотр всех фотографий, которые доступны на сайте. Удобная навигация позволяет просматривать комфортно все содержимое раздела. Скриншот фотогалереи представлен на рисунке 9.
    4) Также пользователю доступна гостевая книга, которую можно открыть из меню. Для того, чтобы отправить комментарий на сайт необходимо заполнить поля ввода имени пользователя, электронной почты, и непосредственно написать само сообщение. Скриншот гостевой книги представлен на рисунке 10.
    5) В рамках данного приложения также реализована форма обратной связи. Для того, чтобы зайти в этот раздел необходимо выбрать соответствующий пункт в верхней части сайта. Пользователь должен заполнить все поля и нажать кнопку «Отправить». Скриншот формы обратной связи представлен на рисунке 11.

    Рисунок 8 – Первоначальный вид приложения

    Рисунок 9 – Фотогалерея приложенияРисунок 10 – Гостевая книга приложения

    Рисунок 11 – Форма обратной связи сайта
    II. Режим администрирования
    1) В режиме администрирования владелец сайта может добалять новые станицы на сайт, добавлять новости и статьи на уже существующие страницы, а также просматривать статистику посещений сайта.
    Для того, чтобы открыть панель администрирования необходимо в строке браузера набрать test1.ru/admin.php. Скриншот админпанели представлен на рисунке 12.

    Рисунок 12 – Панель администрирования сайта

    2) Чтобы осуществить добавление новой страницы или новости, нужно заполнить соответствующие поля в разделах «СОЗДАНИЕ НОВОЙ СТРАНИЦЫ» либо «ДОБАВЛЕНИЕ ИНФОРМЦИИ НА САЙТ» и нажать кнопку «Отправить». Статистика просмотров, а также статистика уникальных посетителей находится в нижней части админпанели.
    3) Чтобы загружать необходимые фотографии в раздел «Фотогалерея сайта», необходимо скопировать нужные фотографии в папку «gallery» на сервере. Скрипт просканирует папку и выведет фотографии в раздел автоматически.

    * Заключение
    В ходе выполнения подготовки к реализации web-приложения был произведен анализ предметной области, выявивший необходимость в развитии данной темы.
    В подразделе «1.1 Анализ существующих аналогов» проанализировано несколько популярных web-движков, на основе которых создаются большинство современных сайтов. Были выявлены определенные достоинства и недостатки при работе с ними. Исходя из этого в подразделе «1.2 Постановка задачи» были определены цели и задачи, которые ставились перед разработчиком. Это осуществлялось с учетом недостатков, выявленных в разделе 1.1. Предполагалось, что у создаваемого приложения подобных минусов быть не должно. Также был определен ряд достоинств, которые бы возносили её над другими аналогичными программными средствами.
    В подразделе «2.1 Обоснование выбора языкапрограммирования, среды разработки и операционной системы» доказывалось превосходство выбранных средств и инструментов для решения данной задачи над другими.
    В подразделе «2.2 Разработка спецификаций требований к программному средству» создан список, состоящий из требований к разрабатываемому программному средству с точки зрения пользователя. Описаны его пожелания, относящиеся к функциональности программы.
    В подразделе «2.3 Разработка программной архитектуры» программа разбита на функциональные модули и приведен перечень функций, которые должны присутствовать в каждом из них.
    В подразделах 2.4, 2.5 разработаны блок-схемы алгоритмов некоторых важных функций.

    * Список использованных источников

    [1] Wikipedia [Электронный ресурс]. – Электронные данные. – Режим доступа: http://ru.wikipedia.org/
    [2] Joomla! [Электронный ресурс] – Электронный данные. – Режим доступа: http://joomlaportal.ru/
    [3] DLE [Электронный ресурс] – Электронный данные. – Режим доступа: http://dle-news.ru/
    [4] WordPress [Электронный ресурс] – Электронный данные. – Режим доступа: http://ru.wordpress.org/
    [5] PHP 5 для начинающих/ С. Навицки [и др.]. ООО «И.Д. Вильямс», 2006. - 848 с.
    [6] PHP 5 в подлиннике/ Д. Котеров [и др.]. «БХВ-Петербург», 2008. - 1078 с.

    * Приложение А
    * (обязательное)
    * Модуль создания новой страницы

    $filename1 = $_POST['filename'];
    $namespace = $_POST['namespace'];
    //путь и сам файл

    //$outputtext = "Новый текст ".$file;

    //если файла нет... тогда
    $namespace2 = "".$namespace."


    ";
    $file = $filename1.".inc";
    if( !file_exists($file))
    {
    $fp = fopen($file, "w"); // ("r" - считывать "w" - создавать "a" - добавлять к тексту), мы создаем файл
    fwrite($fp, $namespace2);
    fclose ($fp);
    }
    else
    {
    echo "Файл уже существует";
    };

    $filename = $filename1.".php";
    if(!file_exists($filename))
    {
    $fp = fopen($filename, "w"); // ("r" - считывать "w" - создавать "a" - добавлять к тексту), мы создаем файл
    fwrite($fp, "include'forstat.php';
    include'top.inc';
    include'menu.inc';
    include'menu2.inc';
    include'");
    fwrite($fp, $file);
    fwrite($fp,"';\ninclude'bottom.inc';\n?>");
    fclose ($fp);
    };

    $filemenu = "menu.inc";
    $outputtext = "\n
  • ".$namespace." ";
    $fp = fopen($filemenu, "a+"); // ("r" - считывать "w" - создавать "a" - добавлять к тексту), мы создаем файл
    fwrite($fp, $outputtext);
    fclose ($fp);

    print "Новая страница создана!";
    echo "";

    ?>

    * Приложение Б
    * (обязательное)
    * Модуль добавления новостей и статей


    $file1 = $_POST['headerf'];
    $newtext = $_POST['newtext'];
    $newslable = $_POST['newslable'];

    //Определение даты и времени:
    $date_today = date("d.m.y");
    $today = date("H:i:s"); //присвоит 1 элементу массива 17:16:17
    echo("Текущее время: $today и дата: $date_today");
    //Выведет Текущее время: 17:16:17 и дата: 03.12.01

    $file = $file1.".inc";
    $outnewslable = "
    ".$newslable." Добавлено ".$date_today." в ".$today."

    ";
    //если файла нету... тогда
    if( !file_exists($file))
    {
    echo "Указанный файл не существует";
    }
    else
    {
    $fp = fopen($file, "a++"); // ("r" - считывать "w" - создавать "a" - добавлять к тексту), мы создаем файл
    fwrite($fp, $outnewslable);
    fwrite($fp, $newtext);
    fwrite($fp, "
    \n
    \n
    \n");
    fclose ($fp);
    print "Информация обновлена!";
    echo "";
    };
    ?>

    * Приложение В
    * (обязательное)
    * Модульдобавления записи в гостевую книгу

    include"top.inc";
    include"menu.inc";
    include"menu2.inc";
    include"guestbook.inc";
    include"bottom.inc";
    $filename = "messages.dat";
    $delitmer = "<|-|>";
    $username_limit = 50;
    $email_limit = 80;
    $message_limit = 2000;


    if (isset($_POST))
    {
    if (isset($_POST['username']) & isset($_POST['email']) & isset($_POST['message']))
    {
    if (((strlen($_POST['username'])>0) & (strlen($_POST['username'])<=$username_limit)) &
    ((strlen($_POST['email'])>0) & (strlen($_POST['email'])<=$email_limit)) &
    ((strlen($_POST['message'])>0) & (strlen($_POST['message'])<=$message_limit)))
    {
    $username = str_replace("\r\n", "
    ", htmlspecialchars($_POST['username']));
    $email = str_replace("\r\n", "
    ", htmlspecialchars($_POST['email']));
    $message = str_replace("\r\n", "
    ", htmlspecialchars($_POST['message']));
    $arr = array($username, $email, $message, date("Добавлен d.m.Y в H:i:s"));
    $new_message = implode($delitmer, $arr) . "\r\n";
    $messages_arr = @file($filename);
    $messages_str = $new_message;
    $messages_str .= trim(implode("", $messages_arr));

    $fp = fopen($filename, "w+");
    fwrite($fp, $messages_str);
    fclose($fp);
    echo "";
    echo "Ваше сообщение добавленно!";
    }
    else
    {
    echo "Ошибка!!!
    Не все данные введенны, либо в одном из полей формы более ";
    echo $message_limit;
    echo " символов.";
    echo "";
    }
    }
    }
    ?>

    * Приложение Г
    * (обязательное)
    * Модуль фотогалереи

    //Папка с изображениями
    $url="gallery";
    //Количество на странице
    $max=9;

    //Проверяем, является ли директорией
    if (is_dir($url))
    {
    //Проверяем, была ли открыта директория
    if ($dir = opendir($url))
    {
    //Сканируем директорию
    while ($file = readdir($dir))
    {
    //Убираем лишние элементы
    if ($file != "." && $file != "..")
    {
    //Выводим списоск в браузер
    $images[]=$file;
    }
    }
    //Закрываем директорию
    closedir($dir);
    }
    }
    //Получаем количество элементов в массиве
    $amount=count($images);
    //Делим на количество отображаемых на странице изображений
    //и округляем в большую сторону
    $pages = ceil($amount/$max);
    //Принимаем входящую переменную, которая указывает номер страницы
    $_p= $_GET['page'];

    //Создаем вспомогательные переменные для навигации
    //Если переменная $_p не задана
    if(!$_p OR $_p =='')
    {
    //Нижний предел
    $nmin = 0;
    //Верхний предел
    $nmax=$max-1;
    }
    else
    {
    $nmin = ($_p*$max)-$max;
    $nmax=($max*$_p)-1;
    }

    $numline = 3; //фотографий в строчке (миновать глюк в опере)
    echo '

    Фотогалерея';

    for($i=$nmin;$i<=$nmax;$i++)
    {
    if($images[$i])
    {
    echo '';
    echo '';
    echo '  ';
    }
    if (($i+1)%$numline == 0)
    {
    echo "
    ";
    }
    }
    //Выводим номера страниц
    echo "

    ";
    for($n=1;$n<=$pages;$n++)
    {

    if($_p != $n)
    {
    echo '['.$n.'] ';
    }
    if($_p == $n)
    {
    echo '['.$n.'] ';
    }

    }

    ?>



  • написать администратору сайта