Сайт по кирпичикам
Может быть полезна для удаленного контроля размера лога или еще
для каких целей.
Flastmod. Эта команда позволяет включить в документ дату последней
модификации любого доступного файла.
Пример: <!--#flastmod virtual="mysuperfile.htm"-->.
В отличие от echo-команды, команда Flastmod скажет "всю правду"
о любом интересующем файле!
Очень хороший способ для начальников контролировать их нерадивых
подчиненных (шучу). Но на самом деле очень удобно - делаешь себе
одну страничку, где идет список всех файлов, и после обновлений
на сайте смотришь - не перепутал ли чего. :) Оно ведь всяко может
быть.
Break. Как легко понять из имени команды, она занимается прерыванием.
:) Эта команда, как только она встречается, немедленно и безусловно
останавливает дальнейший вывод документа.
Пример: <!--#break -->.
Чрезвычайно проста в использовании и не менее чрезвычайно полезна
при отладке важных страниц. Я думаю, ни у кого не возникает сомнений,
что страницу на гипертексте тоже можно (и нужно!) отлаживать.
Безусловно, это не все тэги, доступные в синтаксисе SSI. К примеру,
за скобками остались такие команды, как exec (позволяет выполнять
внешние программы и cgi-скрипты), или сonfig (изменяет вывод таких,
к примеру, команд, как fsize, flastmod, позволяя настроить нужный
формат выдачи сообщений.
Немного программирования
Конечно, в SSI кое-что есть от программирования. Но все же большинство
команд - статичны. Тем не менее, для тех, кто хочет делать по-настоящему
динамически изменяемые страницы, придутся по душе несколько "чисто
программистских" операторов, содержащихся в SSI.
Из всех операторов программирования самым важным для нас, безусловно,
является оператор IF. В SSI тег IF позволяет осуществлять вывод
определенного текста в зависимости от условий.
В общем виде синтаксис команды выглядит так:
if' "<operand1>" <operator> "<operand2>" <operation>.
На месте последней команды "operation" может быть один из операторов:
'goto', 'print', 'error', 'break', 'errorbreak' или 'printbreak'.
Очень простой пример - допустим, нужно показывать что-то использующим
определенный браузер и не показывать это остальным - не хрена им
не в свое дело лезть.
Пишем:
<!--#if "&&HTTP_USER_AGENT&&" hasstring "Mozilla" goto Mozilllalabel-->
<P>Ты, пацан попал, у тебя неправильный браузер, и здесь ты
ничего не увидишь
<!--#goto ="defaultlabel" -->
<!--#label ="Mozilllabel" -->
<P>А ты пацан клевый, и мне очень нравится твой браузер :).
<!--#label ="defaultlabel" -->
(Здесь уже можно ничего не писать). :)
Все просто, просто до безобразия.
Можно использовать IF для того, чтобы сравнивать текст в формах.
Т.е. можно проверить идентичность заполнения форм (а вдруг человек
ошибся) или напоминать гостю, что какую-то позицию формы он не заполнил.
Вежливо и элементарно. :)
В примере выше я использовал два стандартных оператора - goto и
label. Надо "осветить" их чуть более подробно.
Goto. Используется в связке с меткой label (см. ниже).
Синтаксис команды: <!--#goto ="<label>"-->
Пример. <!--#goto ="secretlabel" -->