
[ SSI (Server Side Includes) Technologies ]
Date: 5.03.03
Введение
Я хочу рассказать о технологии SSI (Server Side Includes), что означает
"включения на стороне сервера". Эту технологию я применяю в 2-х случаях:
- иногда, когда пишу CGI скрипт или
- когда делаю довольно крупный сайт, где я не хочу получить порцию геморроя :)
Суть
SSI это набор команд, которые встраиваются в хтмл код и позволяют выполнять
различные функции, на которые хтмл не способен.
Приведу простейший пример: на твоём сайте 20 страниц и на каждой висит баннер странички
твоего другана. На одной из тусовок этот друган посылает тебя куда подальше, и ты решаешь
убрать баннер. Тебе придётся править код на каждой из 20 страниц, что не есть гуд,
а если бы ты юзал SSI, то тебе понадобилось бы изменить всего лишь один файл,
и всё было бы ок. Хорошо звучит?
Так-то.
Синтаксис
- Все директивы имеют вид
- Все файлы с директивами должны быть сохранены с расширением .shtml
#include
При помощи этой функции можно вставить в главный файл некий .txt файл.
Например, возвращаясь к тому же баннеру, ты можешь держать код баннера в отдельном файле,
а затем, изменить этот код - изменённый баннер будет грузиться на каждой странице,
где стоит эта директива.
Пример:
если тебе надо указать абсолютный путь к файлу, то используй
параметр virtual:
#exec
Эта директива вставляет в файл результат действия какого-либо CGI скрипта.
То есть если твоя программа производит вычисления и последней строкой будет print $result; ,
то директива
вставит в файл значение переменной $result.
Эта директива освобождает от необходимости генерировать в программе весь хтмл текст страницы.
Если использовать парметр cmd, то директива будет выполнять другую функцию - она будет
команды *nix систем, например,
#fsize
Возвращает размер файла в байтах. Использование простое:
#echo
Эта директива вставляет страницу значения переменных окружения.
Её синтаксис:
Это довольно нужная директива, с помощью которой можно сделать некоторый фишки,
используемые на многих страницах, например показ IP адреса вашего компьютера.
Переменных окружения существует много, есть специальные переменные для использования
с SSI, но можно использовать также CGI переменные.
Вот список некоторых переменных:
Переменные окружения для CGI:
CONTENT_LENGHT - Размер файла запроса в байтах
DOCUMENT_ROOT - Показывает каталог в котором хранятся файлы
HTTP_REFERER - УРЛ страницы которую смотрел пользователь
перед текущей страницей
HTTP_USER_AGENT - Тип броузера
REMOTE_ADDR - IP адрес компьютера клиента
REMOTE_HOST - Имя компьютера клиента
Переменные окружения SSI:
DOCUMENT_NAME - Имя текущего файла
DOCUMENT_URL - УРЛ текущего файла
DATE_LOCAL - Местное время (по времени на сервере)
LAST_MODIFIED - Дата последнего обновления текущегоф файла
#flastmod
Директива для отображения даты последнего обновления.
Синтаксис:
#email
С его помощью можно посылать уже настроенные сообщения на email,
например таким способом юзеры могут уведомлять тебя о битых ссылках - нажал кнопку и готово.
Синтаксис:
.
C помощью приведённых выше директив можно создать на странице сообщение, которое ты часто
можешь увидеть на разных сайтах:
Сегодня: Sunday, 27-Feb-2000 20:30:07.
Последнее обновление: Monday, 21-Feb-2000 23:00:00
Твой IP адрес: 193.233.5.100
У тебя броузер: Mozilla/4.0 (compatible; MSIE 4.02; Windows 98).
Пришел ты сюда с: kodsweb.ru
Как ты видишь, с помощью SSI можно избаить себя от приличной дозы геморроя,
так что используй SSI и сделай себе жизнь проще :)
Всё.
Sky Lynx     [KODSWEB]
!!! Статья является собственностью команды KODSWEB !!!
!!! Любое распространение без нашего разрешения строго запрешено !!!
|