Смекни!
smekni.com

Файлообменник с веб-интерфейсом (стр. 1 из 4)

Московский Государственный Технический Университет

им. Н.Э. Баумана

Калужский филиал

Кафедра ЭИУ5-КФ

Системы Автоматизированного Проектирования

Курсовая работа на тему:

«Файлообменник с веб-интерфейсом»

Калуга, 2007


Содержание

Введение

Исследовательская часть

Инструменты построения страниц

Языки веб-программирования

Методы общения клиента и сервера

Базы данных.

Веб-сервер

Редакторы кода

Инструкция программиста.

Системные требования

Инструкция по установке

Структура проекта

Описание исходных кодов

Инструкция пользователя.

Заключение.

Список литературы.

Введение

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

Цель работы: показать знание языка веб-программирования PHP, а также средств HTML, CSS и базы данных MySQL.

Основные функции сайта: загрузка, изменение, удаление файлов с сайта (через веб-интерфейс), отображение загруженных файлов в удобном виде, контролируемое скачивание загруженных файлов. Курсовой проект представляет собой сайт, готовый к выкладыванию на подходящем хостинге. Для создания курсового проекта использовался текстовый редактор EditPlus.

Актуальность поставленной задачи

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

Для обмена файла между пользователями по сети существует несколько способов. Во-первых, e-mail (почта). Для пересылки файлов по почте необходимо знать ящик человека, которому отправляется письмо, при этом размер пересылаемых файлов увеличивается на 37%. Это не всегда удобно. Во-вторых, можно пересылать файлы при помощи сервиса ICQ. Это опять же не удобно, т.к. требуется регистрация обоих пользователей в системе и наличие у них клиентов, поддерживающих передачу файлов. Кроме того, при помощи первых 2х способов передать файлы можно лишь ограниченному числу людей.

Если же требуется передать файл большему числу людей, используют:

1. FTP (File Transfer Protocol). Для этого необходим FTP-сервер

2. Веб-сайт. Для этого требуется хостинг, не у всех он есть.

3. Файлообменник. Самый доступный способ массового распространения файлов. Файлообменники призваны решить нарастающую потребность в обмене файлами для тех, кто по тем или иным причинам не хочет использовать предыдущие способы.

Структура пояснительной записки

Пояснительная записка состоит из вступления, трёх глав и заключения.

Глава 1 – исследовательская часть, которая содержит целесообразность выбора инструментов построения веб-страниц, языка веб-программирования, среды разработки.

Глава 2 – инструкция программиста, в состав которой входят системные требования, инструкция по установке файлообменника, описание структуры проекта и подробное описание методов.

Глава 3 – инструкция пользователя, которая содержит описание способов и приёмов работы с файлообменником с точки зрения пользователя, модератора и администратора.

Исследовательская часть

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

Инструменты построения страниц

Традиционно для отображения содержимого сайтов используется HTML. Аббревиатура HTML расшифровывается как HyperTextMarkupLanguage – язык гипертекстовой разметки. То есть HTML – не язык программирования, а просто одно из средств для рисования страничек. Существует несколько спецификаций языка. В написании своей работы я придерживался наиболее распространённой в настоящее время спецификации HTML 4.01 Transitional. Про эту спецификацию можно посмотреть на w3c.org

Для улучшения внешнего вида HTML-страничек применяют CSS(CascadingStyleSheets) – листы стилей. Существует несколько спецификаций CSS. Разные браузеры поддерживают разные спецификации CSS.

Браузеры CSS CSS2 CSS3
MSIE 6.0 SP2 + - -
Opera 8.x + + -
Konqueror + + +
Gecko 1.8.x + + +

Я для работы использовал CSS2, т.к. его возможностей мне достаточно для создания полноценных сайтов, а CSS3 пока что поддерживается не всеми браузерами.

Для тестирования сайта я использовал браузеры Опера 8.52 и MSIE. Сравнение характеристик браузеров – это отдельная тема, не буду заострять на ней внимание. Теоретически курсовойпроект совместим и с другими браузерами.

Широко используются скрипты, написанные на JS (JavaScript) и VBS (VisualBasicScript) для выполнения некоторых простых действий на клиентском компьютере. Они помогают изменять информацию на странице (чаще связанную с оформлением), не перезагружая страницу. Также иногда используют технологию ActiveX – чаще всего для тех же целей, что и JS. Встречаются и другие применения ActiveX – пример тому webmoney. Иногда создатели сайтов делают использование многих наворотов обязательным (картинки, скрипты, ActiveX). Это мешает нормальному восприятию содержимого сайта. В своём проекте я счёл нецелесообразным применение таких скриптов.

С помощью таких средств принято разрабатывать страницы сайтов. Но статические страницы, написанные с помощью этих средств, не позволяют осуществлять общение сайта и посетителя. Это весьма удобно реализуется с помощью языков веб-программирования.

Языки веб-программирования

Разнообразие сайтов в сети практически невозможно сделать, используя лишь статические страницы. Чтобы сделать информацию, отображаемую на сайте, более актуальной, интерактивной, и т.п. нужно динамически генерировать содержимое сайта, или хотя бы отдельных его страниц. Для этого были придуманы серверные приложения (CGI) и скрипты, обрабатывающиеся определённым интерпретатором. Наиболее распространены Perl, PHP и ASP.

На следующие особенности следует обратить внимание при сравнении (достоинства отмечены «+», недостатки «-»):

Perl

+ считается самым быстрым языком

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

- сложность вывода HTML-кода

PHP (4)

+ простота интеграции с HTML и ему подобными форматами

+ простота в освоении новичком и исключительная масштабируемость

+ популярность – полно документации как официальной (php.net и книги) так и сторонних курсов и форумов

+ популярность – всегда можно получить помощь в решении любой проблемы

+- бесплатность – никаких гарантий и служб поддержки

- популярность – все дыры в программировании (новичков) известны

ASP

+ надёжность,

+ служба поддержки,

+ интеграция с платформой .Net,

- строгая типизация,

- платный продукт,

- требует Windows-хостинг.

После такого сравнения для изучения я выбрал язык PHP, из-за таких преимуществ:

1. Наличие понятной и доступной документации

2. Простота в установке и настройке.

3. Поддержка самой популярной opensourceБД – MySQL

4. Поддержка веб-сервера Apache

5. Свобода в выборе хостинга, т.к. подавляющее большинство хостингов используют платформу FreeBSD+Apache+PHP+MySQL

Аббревиатура PHP сейчас расшифровывается как HypertextPreprocessor. Подробнее про язык PHP написано на php.net

Но как происходит «общение» посетителя с сайтом? Для этого уже довольно давно были придуманы действенные методы.

Методы общения клиента и сервера

Для передачи данных от браузера клиента приложению или скрипту на сервере используются методы GET и POST протокола HTTP (HyperTextTransferProtocol), а также через куки (cookie), реферреры и другие данные, передаваемые браузером.

При передаче данных методом GET данные отображаются в адресной строке браузера, при использовании метода POST передаваемые данные не видно. Также есть возможность загрузки файлов методом POST, однако для использования этого метода необходимо сделать submit формы.

Куки – это переменные, предлагаемые к установке браузеру. Правильный браузер должен запоминать куки и при каждом посещении страницы сайта отправлять веб-серверу значения этих переменных.

Реферрер – это указатель перехода. Реферреры придуманы для отслеживания перемещения пользователей по сети. При нажатии на ссылку правильный браузер должен отправить (вместе с куками) адрес страницы, на которой находилась эта ссылка.

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

Данным, переданным этими способами (HTTPGET/POST, cookie, referrers, user_agent) нельзя доверять.

Переданную информацию нужно где-то хранить. Информацию можно сохранять разными способами. Наиболее распространены базы данных, т.к. многие операции они делают за программистов, облегчая им труд.

Базы данных.

Среди многообразия баз данных я выбрал MySQL 4.0,и вот почему. На их сайте читаем: «MySQL предлагает такую комбинацию производительности, цены и возможностей, которую вряд ли смогут предложить другие».

И действительно, основные достоинства MySQL – это:

1. Бесплатность (на 1 месте)

2. Небольшой размер и дистрибутива, и установленной программы.

3. Простота использования.

4. Скорость и стабильность.

5. Популярность.

Следует добавить, что возможности MySQL уже стали избыточными для большинства веб-приложений (да, такое часто происходит со многими хорошими программами). Более того, новая версия 5.0, которая была объявлена стабильной в феврале, несовместима с предыдущими версиями, и многие сайты стали неработоспособными после обновления серверов. Для работы моего сайта вполне достаточно возможностей MySQL 3.23, но я использовал MySQL 4.0, т.к. 3.23 уже морально устарела.