Операторы
Рассмотрим
возможности
SSI как
скриптового
языка.
Переменные.
Присвоение
значений
переменным
в SSI
осуществляется
с
помощью
команды
#set var
value:
<!--#set
var="msg"
value="Hallo
"
-->
Вывести
значение
переменной
можно с
помощью
#echo
var:
<!--#echo
var="msg"
-->
В
качестве
переменных
можно
использовать
переменные
окружения.
При
подстановке
значения
переменной
внутри
директив
SSI
перед
именем
переменной
необходимо
ставить
символ $
(доллар).
Для
предотворащения
двумысленности
можно
заключить
имя
переменной
в
фигурные
скобки
{}.
Например,
<!--#set
var="msg2"
value="${msg}
World!"
-->
присвоит
переменной
msg2
значение
"Hallo
World!".
Следующий
пример
отображает
некоторую
информацию
по
текущей
странице:
Информация
о
текущей
странице.
Адрес:
http://<!--#echo
var="HTTP_HOST"
--><!--#echo
var="REQUEST_URI"
-->
Размер
файла:
<!--#fsize
file="$DOCUMENT_NAME"
-->
Дата
обновления:
<!--#flastmod
file="$DOCUMENT_NAME"
-->
Условные
операторы.
Базовой
структурой
для
описания
условного
оператора
является:
<!--#if
expr="condition"
-->
<!--#elif
expr="condition"
-->
<!--#else
-->
<!--#endif
-->
Элементы
#elif
и
#else
не
являются
обязательными.
Условие
condition
могут
быть
следующими:
сравнение
str1 =
str2 (равно),
str1 !=
str2 (не
равно),
str1 <
str2 (меньше),
str1 >
str2 (больше),
str1 <=
str2 (меньше
или
равно),
str1 >=
str2 (больше
или
равно);
str (истинно,
если str
не
пустая
строка).
Если
str2
записано
в виде /str/,
то
строка
интерпретируется
как
регулярное
выражение.
Также
можно
использовать
логические
отношения:
&& (логическое
И), || (логическое
ИЛИ), !
(логическое
отрицание).
Продемонстрируем
использование
условных
операторов
на
примере
определения
браузера
пользователя:
Ваш
браузер
<!--#if
expr="$HTTP_USER_AGENT=/Opera/"
-->
Opera
<!--#elif
expr="$HTTP_USER_AGENT=/MSIE/"
-->
Microsoft
Internet
Explorer
<!--#elif
expr="$HTTP_USER_AGENT=/Netscape/"
-->
Netscape
<!--#elif
expr="$HTTP_USER_AGENT=/Firefox/"
-->
Firefox
<!--#else
-->
не
определен.
<!--#endif
-->