
 Информация за SSI
===================


Server Side Includes (SSI) е лесен за ползване скриптов език от страната на сървъра, който се използва предимно за динамично добавяне на съдържание от една страница в друга или за изпълнение на CGI скриптове.

Две важни неща относно SSI:

1) SSI-командите започват винаги с <!--# и завършват с -->:

<!--#komanda parametar="stoinost"-->Преди --> трябва да има или кавичка, или интервал.

2) Файлът, който ще съдържа SSI команди, трябва да има окончание .shtml или .sht, за да може да бъде правилно обработен от сървъра.

Малко примери за употребата на SSI:

1) Ако искате да вмъкнете файл в страница, може да използвате include virtual. Трябва да укажете релативен адрес спрямо страницата със SSI командите. Например:

<!--#include virtual="file.txt"-->С тази команда добавяте съдържанието на файла file.txt във файла си. Файлът file.txt трябва да се намира в същата папка като самия SSI файл - не забравяйте за релативния адрес на добавяния файл. А ако например file.txt се намира в поддиректорията moite\_ssi на директорията, в която се намира вашият SSI файл, тогава трябва да го добавите по следния начин:

<!--#include virtual="moite\_ssi/file.txt"-->

2) Ако искате да изпълните определен CGI скрипт (в този пример това е Perl скрипт) и да вмъкнете резултата от изпълнението му във вашата страница, използвайте следния код:

<!--#exec cgi="ime\_na\_cgi\_script.pl"-->

3) Ако искате да разберете големината на файла file.html в поддиректорията directory, използвайте следната команда:

<!--#fsize file="directory/file.html"-->

4) Командата

<!--#flastmod file="directory/file.html"-->

ще ви покаже кога за последно е променян файла /directory/file.html.

5) Полезна команда при откриване на грешки (дебъгване) - ако се нуждаете от информация относно системните променливи, то чрез тази команда:  
<!--#printenv --> 

те ще ви бъдат показани.

6) Променливи:  
  
Можете лесно да дефинирате и използвате променливи във вашите SSI-скриптове.

Например следната команда дефинира променливата "PI", като и присвоява стойността "3,14159265":

<!--#set var="PI" value="3,14159265"-->За да видите каква е стойността на PI, използвайте следната команда:

<!--#echo var="PI"-->В SSI има няколко предварително дефинирани променливи:  
  
# DATE\_GMT (Дата и час, GMT)  
# DATE\_LOCAL (Дата и час, локално време на сървъра)  
# DOCUMENT\_NAME (Име на файла)  
# DOCUMENT\_URI (Пътечката до файла)  
# LAST\_MODIFIED (Последна промяна на файла)  
# QUERY\_STRING (Предадените аргументи на файла)

Например следната команда:

<!--#echo var="LAST\_MODIFIED"-->показва кога файла е бил променян последно.

7) Контролни структури

Като контролни структури се използват if, elif, else и endif:

<!--#if expr="test\_uslovie"-->  
<!--#elif expr="test\_uslovie"-->  
<!--#else -->  
<!--#endif -->   
  
Важното в случая е да се знае, че използването на if задължително завършва с endif.

