SSI поддерживает несколько директив, предназначенных для разных целей и расширяющих
возможности по модификации веб-страниц.
Все директивы записываются в следующем виде.
<!--#директива параметр="значение"-->
Каждая директива начинается с ключевого набора <!--#,
пробелы между символами не допускаются. После символа решетки идет указание
директивы, а возможные параметры указываются через пробел.
Имена директив, которые используются в SSI, описаны далее.
Директива config
Позволяет управлять некоторыми опциями SSI, такими как задание формата вывода
даты, времени, размера файла и установка текста сообщения о возникновении ошибки.
Параметр errmsg
errmsg устанавливает сообщение, отображаемое
при возникновении ошибок. По умолчанию выводится текст [an
error occurred while processing this directive], но вы можете поменять
его на свой, да еще написав по-русски. Синтаксис следующий.
<!--#config errmsg="Сообщение об ошибке"-->
Параметр timefmt
Параметр timefmt устанавливает формат даты и времени для
директивы flastmod. Синтаксис следующий.
<!--#config timefmt="формат"-->
Для контроля выводимой информации могут применяться следующие шаблоны.
%a - сокращенное название дня недели.
%A - полное название дня недели.
%b - сокращенное название месяца.
%B - полное название месяца.
%c - формат даты и времени по умолчанию.
%d - день месяца (от 01 до 31).
%D - дата в формате мм/дд/гг.
%e - день месяца без ведущего нуля (от 1 до 31).
%H - часы в 24-часовом формате (от 00 до 23).
%I - часы в 12-часовом формате (от 00 до 12).
%j - день года (от 001 до 366).
%m - номер месяца (от 01 до 12).
%M - минуты (от 00 до 60).
%p - выводит AM или PM в зависимости от времени
и заданного формата.
%r - время с автоматическим добавлением AM или
PM.
%T - время в формате чч:мм:сс.
%y - год (от 00 до 99).
%% - вывод символа %.
Разрешается совмещать между собой любые шаблоны, а также писать дополнительные
символы. В примере 2.1 показано использование параметра timefmt.
Пример 2.1. Вывод даты и времени модификации файла.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>
<!--#config timefmt="Дата: %d-%m-%y, время: %T"-->
<!--#flastmod file="gtm.css"-->
</body>
</html>
В результате данного примера получим строку следующего вида.
Дата: 04-07-05, время: 19:24:09.
Параметр sizefmt
Параметр sizefmt определяет формат вывода размера файла.
Синтаксис следующий.
<!--#config sizefmt="bytes | abbrev"-->
Значение bytes отображает размер файла в байтах
(3,152), abbrev - в килобайтах (3k) или мегабайтах
(6,1M), в зависимости от объема документа. В примере 2.2 показано использование
параметра sizefmt.
Пример 2.2. Формат вывода размера файла
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>
<!--#config sizefmt="abbrev"-->
Объем файла musa.mp3 - <!--#fsize file="musa.mp3"-->
</body>
</html>
Директива include
Директива include вставляет содержимое другого файла
в текущий документ. К файлу обязательно должен быть открыт доступ, иначе он
не будет показан. У директивы include имеется два параметра:
file и virtual.
Параметр file
Указывает путь к файлу относительно текущего документа. Можно использовать
как текстовые файлы, так и HTML-документа, а также включать другие SSI-файлы
(обычно с расширением shtml). Синтаксис использования следующий.
<!--#include file="URL"-->
Параметр virtual
Задает виртуальный путь к документу на сервере. Синтаксис следующий.
<!--#include virtual="URL" -->
Между параметрами file и virtual
есть определенная разница. Если вы применяете путь к документам относительно
корня сайта (такой путь характеризуется слешем вначале, например /file.html),
то следует использовать параметр virtual. При указании
относительного пути, следует воспользоваться параметром file
(пример 2.3).
Пример 2.3. Путь к файлу
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>
<!--#include virtual="/inc/header.html"-->
...
<!--#include file="../inc/footer.html"-->
</body>
</html>
Директива echo
Директива echo предназначена для вывода значений переменных
и даты, формат которой определяется параметром timefmt
директивы config. У echo единственный
параметр var, он определяет выводимое значение.
<!--#echo var="значение для вывода"-->
В примере 2.4 показано использование директивы echo
для вывода переменной окружения.
Пример 2.4. Вывод значения переменной окружения
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>
<!--#echo var="HTTP_USER_AGENT"-->
</body>
</html>
Директива fsize
Директива fsize отображает размер определенного
файла. Формат вывода задается с помощью параметра sizefmt
директивы config. Синтаксис использования следующий.
<!--#fsize file="URL" | virtual="URL"-->
Путь к файлу определяется с помощью параметров file
или virtual, которые имеют те же функции, что и
для директивы include.
Директива flastmode
Отображает дату последней модификации указанного файла. Формат даты устанавливается
через директиву config и параметр timefmt.
Синтаксис следующий.
<!--#flastmode file="URL" | virtual="URL"-->
Путь к файлу определяется с помощью параметров file
или virtual, которые имеют те же функции, что и
для директивы include.
Директива exec
Директива exec вставляет результат выполнения команды
или CGI-программы в HTML-документ. Эта директива включает два параметра: cmd
и cgi.
Параметр cmd
Запускает указанную командную строку с использованием локального интерпретатора.
<!--#exec cmd="команда"-->
Параметр cgi
Выполняет CGI-программу и результат ее выполнения вставляет в указанное место.
В качестве параметра указывается адрес программы.
<!--#exec cgi="URL"-->
В примере 2.5 показано одно из применений параметра cgi.
Пример 2.5. Использование директивы exec
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>
Всего прочитало эту страницу <!--#exec cgi="/cgi-bin/counter.cgi"-->
человек.
</body>
</html>
В данном примере запускается программа counter.cgi, которая подсчитывает число
посетителей данной страницы и записывает его в файл или в базу данных. После
этого результат отображается в месте, где стоит строка <!--#exec
cgi="/cgi-bin/counter.cgi"-->.
Источник: http://www.htmlbook.ru |