
- •Структура и принципы построения сети Интернет. Адресация в Интернет.
- •Понятие сетевого протокола. Основные Интернет-протоколы: tcp/ip, smtp, ftp, http, wap.
- •Протокол http: назначение и особенности. Схема «запрос-ответ» http. Структура http-запроса и http-ответа
- •Методы передачи данных get и post.
- •Рассмотрим небольшую форму, передающую имя пользователя:
- •Формирование ответа сервером
- •Html: назначение, синтаксис определения тегов, структура простейшего html-документа. Понятие xhtml и его особенности.
- •Базовые теги html: форматирование документа, создание ссылок, списков, таблиц, вставка изображений. Понятие слоя (блока). Основные свойства блоков и особенности их определения.
- •Назначение форм на html-странице. Основные теги создания форм и их атрибуты.
- •Понятие css. Способы включения стилей в html-документ. Понятие классов и псевдоклассов в css (привести примеры). Правила каскадирования (приоритета стилей).
- •Виды html-верстки и их особенности. Типовые макеты верстки.
- •JavaScript: назначение, cпособы включения кода JavaScript в состав html-документа, типизация данных, правила объявления локальных и глобальных переменных, объявление и использование функций.
- •Понятие dom (Document Object Model). Способы доступа к элементам html-документа с использованием JavaScript.
- •Функции организации временной задержки в JavaScript.Создание эффектов анимации с использованием JavaScript (привести пример).
- •Библиотека jQuery: назначение, подключение к html-странице, синтаксис команд jQuery, виды селекторов, обработка событий с использованием jQuery.
- •Php: назначение, особенности обработки php-скриптов. Включение кода php в состав Web-страницы. Получение данных формы php-сценарием (привести пример).
- •Php: типизация данных, объявление переменных и констант, определение функций, классификация переменных по области видимости.
- •If (условие) {
- •Виды массивов, поддерживаемых php. Инициализация массивов. Работа с датой и временем в php.
- •Include "путь/имя_файла";
- •Is_file(файл)
- •Is_writeable (файл)
- •Ifwrite(файловый манипулятор, переменная [,длина])
- •Is_readable (файл)
- •Для выполнения всех функций чтения из файла файловый манипулятор должен ссылаться на открытый файл, доступный для чтения. Положение указателя текущей позиции
- •Понятие сессии в php. Понятие идентификатора сессии и способы его передачи.
- •Использование баз данных MySql в Web-приложениях: создание базы данных, общая последовательность действий при работе с сервером MySql, основные функции php для работы с базой данных.
- •Xml: назначение, особенности синтаксиса, структура xml-документа.
- •Dtd: назначение, конструкции для определения элементов и их атрибутов.
- •Dtd: подключение dtd-определения к xml-документу, особенности определения типа элементов и атрибутов xml-документа.
- •Xsd: назначение, отличия от dtd, понятие пространства имен, использование целевого и исходного пространств имен.
- •Xsd: особенности определения элементов и их атрибутов, объявление простых и комплексных типов, подключение схемы xsd к xml-документу.
- •Xsl: назначение, структура xsl-документа, подключение к xml-документу.
- •Основные дескрипторы xsl: выборка данных xml-документа, фильтрация и сортировка данных. Особенности адресации к xml-данным.
- •Технология Ajax: назначение, сущность, этапы выполнения Ajax-запроса.
- •Технология Ajax: назначение объекта xmlHttpRequest, создание его экземпляра, отправка запроса на сервер и принятие ответа сервера.
- •Технология Ajax: разновидности запросов на сервер по типу запрашиваемых файлов и методу передачи данных, кэширование результата при get-запросах.
Для выполнения всех функций чтения из файла файловый манипулятор должен ссылаться на открытый файл, доступный для чтения. Положение указателя текущей позиции
Функция feof возвращает указатель конца файла. Возвращает true, если достигнут конец файла (то есть если указатель файла установлен за концом файла). Синтаксис:
feof(файловый манипулятор)
Функция fseek устанавливает указатель файла на определенную позицию: со смещением на определенное количество байт (от начала файла, от его конца или от текущей позиции в зависимости от значения параметра позиция отсчета). В случае успешного завершения эта функция возвращает 0, а в случае неудачи -1. Синтаксис функции:
fseek(файловый манипулятор, смещение, позиция отсчета=SEEK_SET)
Параметр позиция отсчета задает, с какого места отсчитывается смещение. В PHP для этого существуют три константы, равные, соответственно, 0, 1 и 2:
SEEK_SET - устанавливает позицию с начала файла;
SEEK_CUR - отсчитывает позицию относительно текущей позиции;
SEEK_END - отсчитывает позицию относительно конца файла.
В случае использования последних двух констант параметр смещение может быть отрицательным.
Функция ftell возвращает положение указателя файла. Синтаксис:
ftell(файловый манипулятор)
Чтение файла в массив
Функция file загружает все содержимое файла в индексируемый массив. Каждый элемент массива соответствует одной строке файла. Синтаксис функции:
file (файл [,включение_пути])
Если необязательный параметр включение_пути равен 1, то путь к файлу определяется по отношению к каталогу включаемых файлов, указанному в файле php.ini.
Копирование и переименование файлов
К числу других полезных системных функций, которые могут выполняться в сценариях РНР, относятся копирование и переименование файлов на сервере. Эти операции выполняются двумя функциями: сору и rename.
Функция сору пытается скопировать файл источник в файл приемник; в случае успеха возвращается TRUE, а при неудаче — FALSE. Если файл приемник не существует, функция сору( ) создает его. Синтаксис функции:
copy (источник, приемник)
Функция rename переименовывает файл. В случае успеха возвращается TRUE, a при неудаче — FALSE. Синтаксис функции:
rename (старое_имя, новое_имя)
Удаление файлов
Функция unlink удаляет файл с заданным именем. Синтаксис:
unlink (файл)
При работе с РНР в системе Windows при использовании этой функции иногда возникают проблемы. В этом случае можно воспользоваться функцией system( ) и удалить файл командой DOS del:
system ("del filename.txt");
Функции работы с каталогами
dirname (путь) —извлекает путь из полного имени файла.
is_dir (имя_файла) - проверяет, является ли файл с заданным именем каталогом.
mkdir (путь, права_доступа) - создает новый каталог; права доступа для каталогов указываются точно так же, как и для файлов (чаще всего параметр принимает значение 0770).
opendir (путь) - открывает манипулятор для работы с каталогом.
closedir(манипулятор_каталога) - закрывает манипулятор каталога, переданный в качестве параметра.
readdir(манипулятор_каталога) - возвращает очередной элемент заданного каталога.
chdir (каталог) - осуществляет переход в каталог, заданный параметром.
rewinddir ( манипулятор_каталога) - переводит указатель текущей позиции в начало каталога, открытого функцией opendir( ).
Практически все функции по работе с датой и временем, в том числе date имеют дело с форматом данных, называемым временной меткой (timestamp). Она является целым числом, равным количеству секунд между эпохой Unix (1 Января 1970) и указанным временем.
Для получения временной метки, соответствующей конкретной дате, используется функция mktime().
Синтаксис:
mktime([часы] [,минуты] [,секунды] [,месяц] [, день] [, год ] [, переход на летнее время]);
Все параметры этой функции необязательны, но пропускать их можно только справа налево. Если какие-то параметры не заданы, на их место подставляются значения, соответствующие текущей дате.
Аргумент переход на летнее время, указывает, осуществлен ли переход на летнее время (1) или нет (0); если не известно, то аргумент - (-1)
Правильность даты, переданной в параметрах, не проверяется.
Для форматирования даты/времени, представленных временной меткой используется функция date(формат [, временная метка]). Эта функция возвращает строку, содержащую дату и время, отформатированную согласно строке формат, используя временную метку или текущее локальное время, если не задана временная метка.
В параметре формат могут использоваться следующие символы:
a - "до" и "после" полудня: "am" или "pm"
A - "До" и "После" полудня: "AM" или "PM"
d - день месяца, 2 цифры (на первом месте ноль) (от 01 до 31)
D - день недели, текстовый, 3 буквы (например, "Fri")
j - день месяца, 1-2 цифры без начальных нулей (от 1 до 31)
F - месяц, текстовый, длинный (например, "January")
h - час, 12-часовой формат (от 01 до 12)
H - час, 24-часовой формат (от 00 до 23)
g - час, 12-часовой формат без нулей (от 1 до 12)
G - час, 24-часовой формат без нулей (от 0 до 23)
i - минуты (от 00 до 59)
I - 1, если действует переход на летнее время, иначе 0
L - 0, если год не високосный, или 1 в противном случае
l - день недели, текстовый, длинный (например, "Friday")
m - месяц, две цифры с нулями (от 01 до 12)
n - месяц, одна-две цифры без нулей (от 1 до 12)
M - трехбуквенное английское сокращение месяца (например, "Jan")
t - число дней в указанном месяце (от 28 до 31)
s - секунды (от 0 до 59)
S - англоязычный порядковый суффикс числа из двух букв, текстовый, т.е. "th", "nd"
U - целое число секунд, прошедших с начала века (доступно не всегда)
Y - год, цифровой, 4 цифры (1999)
y - год, цифровой, 2 цифры (99)
w - порядковое число дня в неделе (от 0-воскресенье до 6-суббота)
z - порядковое число дня в году (от 0 до 365)
Все остальные символы в строковом аргументе формат возвращаются в результирующей строке "как есть".
Понятие Web-сервера как программного обеспечения. Web-сервер Apache: установка, настройка, использование. Программные пакеты Vertrigo и Open Server. Виртуальный хост: понятие и способы создания.
Сервер как программное обеспечение предназначен для обработки запросов клиента. Наиболее распространенным является веб-сервер Apache, так же к наиболее распространенным относится IIS. Денвер и Vertrigo. (используются в основном для отладки) Эти пакеты представляют собой набор дистрибутивов и программную оболочку, которые могут отладки сайтов. Плюс этих пакетов заключается в том, что они являются самонастраивающимися. Все документы размещаются в www в папке localhost.
Настройка сервера Apache заключается в редактировании основных конфигурационных файлов. Можно выделить 3 уровня конфигурирования: 1. уровень сервера, 2. уровень виртуального хоста, 3. уровень конкретной директории. (параметры доступа конкретной директории определяются файлами htaccess). Виртуальные хосты используются для размещения и настройки нескольких ресурсов (сайтов).
Основное конфигурирование осуществляется путем редактирования файла httpd.conf. При использовании пакета Денвер данный файл располагается в usr/local/apache/conf корневой директории веб-сервера (обычно ей является c:/webServers).
При использовании Vertrigo доступ к этому файлу можно получить из контекстного меню. Так же к основным конфигурационным файлам относятся srm.conf и access.conf. В srm.conf указываются параметры документов, размещаемых на сервере, в access.conf — параметры доступа к серверу.
Конфигурация сервера определяется путем задания значений специальным конфигурационным переменным, называемым директивами. Комментарии в конфигурационных файлах обозначается символом #. Для того чтобы изменения вступили в силу необходимо перезапустить сервер.
PHP — это язык серверных скриптов, встраиваемых в html, который интерпретируется и выполняется на сервере.
Web-сервер – это программа, позволяющая просматривать
результат выполнения серверных скриптов и осуществлять их
отладку на локальном компьютере.
«Денвер» («Джентльменский набор Web-разработчика» или
сокращенно «Д.н.w.р.») представляет собой набор дистрибутивов
и программную оболочку, используемые Web-разработчиками
для отладки сайтов на локальном компьютере без необходимости
выхода в Интернет. Базовый пакет «Денвер», кроме Web-сервера
Apache, содержит интерпретатор PHP, Perl, сервер MySQL и дру-
гие компоненты, обеспечивающие работу системы в целом.
Для установки пакета «Денвер» необходимо запустить файл
дистрибутива Denver.exe и следовать дальнейшим инструкциям
(будет предложено выбрать директорию, в которую нужно уста-
новить пакет, указать имя нового виртуального диска и т. д.).
Перед началом работы с Web-сервером его необходимо за-
пустить. Для запуска, перезапуска или остановки сервера Apache
нужно запустить файлы Run.exe, Restart.exe, Stop.exe соответст-
венно. Данные файлы располагаются в подкаталоге /etc корнево-
го каталога пакета «Денвер» (обычно корневым является каталог
WebServers).
Настройка сервера Apache заключается в редактировании
главного конфигурационного файла httpd.conf, который обычно
расположен в подкаталоге usr/local/apache/conf корневого ката-
лога пакета «Денвер». Конфигурация сервера определяется зна-
чениями конфигурационных переменных, называемых директи-
вами. Комментарии в конфигурационном файле обозначаются
символом #.
П р и м е ч а н и е. Для того, чтобы изменения в файле httpd.conf
вступили в силу, необходимо перезапустить Web-сервер.
5
Основные директивы файла httpd.conf [5]:
ServerRoot задает вершину дерева каталогов, в которых со-
держатся файлы конфигурации, регистрации и отслеживания
ошибок.
Например: ServerRoot /usr/local/apache
ServerName задает имя сервера, которое будет использо-
ваться при переадресации URL.
Например: ServerName localhost
ServerAdmin – адрес, по которому будут направляться со-
общения о проблемах с сервером.
Например: ServerAdmin webmaster@localhost
ServerAlias задает альтернативные имена Web-узла.
Например: ServerAlias my_site.ru
DocumentRoot задает путь к корневому каталогу докумен-
тов Web-сервера.
Например: DocumentRoot /home/localhost/www
Alias указывает —ëü¡_÷ü¢w_псевдоним каталога локальной файловой
системы, находящегося за пределами поддерева, определяемого
директивой DocumentRoot.
Например: Alias / images/ /public/img/
При запросе по адресу http://localhost/images/1.gif сервер
вернет файл /public/img/1.gif.
ScriptAlias определяет псевдоним каталога для CGI-сценариев.
Например: ScriptAlias /cgi-bin/ /home/cgi-glob/
ErrorLog указывает путь к файлу, в который будут записы-
ваться диагностические сообщения об ошибках.
Например: ErrorLog logs/error.log
TransferLog указывает путь к файлу, в котором сервер ре-
гистрирует входящие запросы.
Например: TransferLog logs/transfer.log
П р и м е ч а н и е. Путь в директивах ErrorLog и TransferLog может
указываться относительно каталога, заданного директивой ServerRoot.
Существует возможность создания нескольких Web-узлов
на одной машине-сервере и обслуживания их одним установ-
ленным экземпляром сервера Apache. Другими словами, сервер
может обрабатывать запросы к множеству различных Web-
узлов. Данная возможность сервера получила название вирту-
хостов) может иметь свою конфигурацию, необходимую для
решения конкретных задач.
Для создания и конфигурирования виртуального хоста ис-
пользуется блок директив <VirtualHost name / ip_address>
</VirtualHost>.
П р и м е ч а н и е. В корневом каталоге документов Web-сервера
должен быть создан каталог, соответствующий имени хоста.
Пример описания виртуального хоста:
<VirtualHost myhost.com>
ServerAdmin webmaster@myhost.com
DocumentRoot /home/myhost.com/www
ServerName myhost.com
ScriptAlias/cgi-bin//home/myhost.com/cgi-bin/
ErrorLog /home/myhost.com/error.log
TransferLog /home/myhost.com/transfer.log
</VirtualHost>
Создать виртуальный хост можно не только «вручную», оп-
ределив директиву <VirtualHost>. В «Денвере», для того чтобы
добавить новый виртуальный хост со стандартными настройками,
достаточно создать структуру его каталогов в директории /home.
Сервер Apache автоматически «увидит» изменения при следую-
щем запуске. При этом изменять файл httpd.conf не нужно.