Магазин портативной техники "Портатив"
:: на главную
HTML > SSI базовые директивы

SSI (Server Side Includes - директивы включения на стороне сервера).
 
  Это команды, которые можно использовать в HTML документе. Сервер обрабатывая
  такой документ исполняет директивы, существенно упрощая жизнь вебмастеру,
  позволяя не писать специальных скриптов для элементарных операций. Таких как
  вывод даты последнего обновления документа или указывать размер файла.
 
  Необходимо заметить что не все сервера поддерживают SSI. Также не все
  директивы могут быть доступны конкретному пользователю.
 
  Сервера NCSA, Apache Netscape позволяют отрабатывать SSI. Но включить
  обработку документов может только администратор сервера.
 
  В серверах Apache и NCSA при компиляции сервера по умолчанию включен модуль
  SSI. Но необходимо в конфигурационных файлах указать тип файлов, который
  должен будет подвергаться синтаксическому анализу.
  для этого необходимо добавить в файл настроек srm.conf строчку:
 
  AddType text/x-server-parsed-html .shtml
 
  В этом случае все файлы с расширением shtml будут проверяться на наличие в
  них директив. Если они будут там обнаружены, то будут выполнены.
 
  Для указания же типа директив, разрешенных на выполнение пользователю
  необходимо указать в файле access.conf что именно он сможет делать:
 
  Options Includes
 
  Если вы хотите с помощью SSI вызывать другие скрипты, то необходимо так же
  разрешить средство Exec, то есть:
 
  Options Includes ExecCGI
 
 
  Предположим что все это есть и работает. Перейдем к насущному.
 
  Вот кусочек html кода:
  --------------------------------------------
  <html>
  <body>
  Этот файл последний раз изменен 01.01.1990г.
  </body>
  </html>
  --------------------------------------------
 
  При каждом изменении файла вебмастеру придется руками переписывать дату.
 
  Если использовать директиву, то при отображении дата будет формироваться
  сама. В примере ниже предполагается что имя изменяемого файла test.shtml
 
  --------------------------------------------
  <html>
  <body>
  Этот файл последний раз изменен <!--#flastmod file="/test.shtml"-->
  </body>
  </html>
  --------------------------------------------
 
  Правда удобно?
  
 
  Теперь перечислю базовые директивы.
 
  Формат записи: <!--#команда параметр="значение"-->
 


Команда : echo Применяется с параметром: var Цель : Вставка переменных среды. Пример : <!--#echo var="SERVER_ADMIN"--> - покажет E-mail адрес администратора сервера.


Команда : include Применяется с параметром: file Применяется с параметром: virtual Цель : Вставка другого документа в этот файл. Пример 1 : <!--#include file="test1.htm"--> Пример 2 : <!--#include virtual="/home/test1.htm"--> Комментарий : Черезвычайно удобная директива для использования при вставке одинаковых элементов, шапки или чего еще в файлах. Особо вкусно в том случае, если у вас много документов с одинаковыми элементами. параметр file указывает на файл в том же каталоге, что и файл в котором стоит вызов директивы. Virtual же указывает на виртуальный путь в пределах сервера.


Команда : fsize Применяется с параметром: file Цкель : Показывает размер файла. Пример : <!--#fsize file="/test.shtml"-->


Команда : flastmod Применяется с параметром: file Цель : Показывает последнюю дату обновления файла. Пример : <!--#flastmod file="/test.shtml"--> Коментарий : С помощью директивы config можно выбрать формат вывода даты.


Команда : exec Применяется с параметром: cmd Применяется с параметром: cgi Цель : Вызов внешниз програм и вставка результата их работы в документ. Пример 1 : <!--#exec cmd="/cgi/start.exe"--> Пример 2 : <!--#exec cgi="/cgi-bin/counter.pl"--> Коментарий : Так же весьма удобная, но опасная для администратора сервера директива. С ее помощью можно запустить программу, которая сделает с сервером все что позволено пользователю. Можно с ее помощью утянуть пароли, а можно и винчестер отформатировать...


Команда : config Цель : Изменение параметров SSI Применяется с параметром: errmsg (какое выдавать сообщение об ошибке) Пример : <!--#config errmsg="Ошибка! Файл не найден"--> Применяется с параметром: sizefmt (форматированный вывод обьема файла) Пример 1 : <!--#config sizefmt="bytes"--> Коментарий : Показывать размер файла в байтах. Пример 2 : <!--#config sizefmt="abbrev"--> Коментарий : Показывать размер файла в Кб. Применяется с параметром: timefmt (Форматированный вывод времени и даты) Пример : <!--#config timefmt="%D"--> Коментарий : Показывать дату как : месяц/день/год В табличке ниже указаны форматы вывода времени:

%код Обозначает: Например:
%a День недели в сокращенном виде Sun
%A День недели в полном формате Sunday
%b , %h Месяц в сокращенном виде Jan
%B Месяц January
%d Дата 01
%D Дата в формате %m/%d/%y 01/01/90
%e Дата 1
%H Время в 24 часа 15
%I Время в 12 часов 03
%j день года 360
%m Номер месяца 11
%M Минуты 07
%p AM/PM AM
%r Время в формате: %I:%M:%S %p 01:50:20 PM
%S Секунд 33
%T Время в 24 часа в формате %H:%M:%S 12:30:35
%U, %W Порядковый номер недели года 25
%w Порядковый номер дня недели (начиная с Sunday=0) 3
%y Год века 99
%Y Год 1999
%Z Часовой пояс EST

<< назад содержание вперед >>