Az SSI ( Server Side Includes – szerveroldali befoglalások) egy egyszerű nyelv a szerveren lévő weboldalak dinamikus "összeállításához" különálló összetevőkből, és az így létrejövő HTML -dokumentum kiadásához a kliens számára. Az Apache webszerveren a mod_include modul segítségével implementálva . A webszerver alapértelmezett beállításaiban engedélyezve van a HTML fájlok beillesztésének lehetősége, így az utasítások használatához a fájlnak a kiterjesztéssel kell végződnie , ill . .shtml.stm.shtm
Emlékeztetni kell arra, hogy egyes szolgáltatások nem hajtanak végre SSI-parancsokat, ha a fájl kiterjesztése eltér a fentiektől, például .html.
Az SSI szintaxis lehetővé teszi más SSI-oldalak beillesztését az oldal szövegébe, külső CGI -szkriptek hívását, feltételes műveletek végrehajtását (ha / else), változókkal való munkát stb. A nyelv rendkívüli egyszerűsége miatt az SSI-oldalak elkészítése nagyon gyors , azonban az SSI-ből hiányzik a teljes értékű programozási nyelvek számos lehetősége, például a fájlokkal való munka.
Az SSI szintaxis egyes elemeit más szkriptnyelvek is használják , például az ASP .
config – a vizsgálat különböző aspektusait vezérli. Attribútumai a következők lehetnek:
A sizefmt változói :
<!--#config sizefmt="abbrev"--> Fájlméretet jelenít meg kilobájtban: (17k) <!--#config sizefmt="bytes"--> A fájlméretet bájtokban jeleníti meg (17 076)A timefmt változói :
Formátum | Leírás | Példa |
---|---|---|
%a | A hét napjának rövid neve | Hétfő |
%A | A hét napjának teljes neve | hétfő |
%b | A hónap nevének rövidítése | December |
%B | A hónap teljes neve | december |
%d | A hónap napja | 01 (nem 1) |
%D | Dátum "%m/%d/%y" formátumban | 12/31/99 |
%e | A hónap napja | 13 |
%H | Órák 24 órás formátumban | 13 |
%ÉN | Órák 12 órás formátumban | 01 |
%j | az év napja | 235 |
%m | Hónap száma | 01 |
%M | percek | 03 |
%p | AM/PM (AM/PM) | AM |
%r | Idő "I:M:S p" formátumban | 23:35:46 |
%S | Másodpercek | 34 |
%s | Idő másodpercben 1970.01.01 | 957228726 |
%T | Idő a következő formátumban: "%H:%M:%S" | 14:05:34 |
%U | Az év hete | 16 |
%w | A hét napjának száma | négy |
%y | Év YY formátumban | 99 |
%Y | Év ÉÉÉÉ formátumban | 1999 |
%Z | időzóna | MSK |
Vegye figyelembe, hogy a #config sizefmt és #config timefmt parancsok hatással vannak az összes kapcsolódó SSI-parancsra, ahonnan a lap aljára hívták őket. Ezért a #flastmod és #fsize parancsok minden egyes hívása saját #config paranccsal látható el.
set - egy változó értékét állítja be. Attribútumai a var, amely a változó nevét határozza meg, és a value, amely az értékét határozza meg.
A legtöbb SSI direktíva argumentumában a változók helyettesítése idézőjeles karakterláncokon belül történik. Ezekben az esetekben a dollárjelet úgy lehet beilleszteni, hogy előtte egy perjel van:
<!--#if expr="$a = \$teszt" -->A kétértelműség elkerülése érdekében a változó nevét kapcsos zárójelek közé helyezheti:
<!--#set var="Zed" value="${a}bc_${abc}" -->A hozzárendelés eredményeként a Zed változó értéke "Xbc_Y" lesz, ha az a változó egyenlő X-szel és az abc változó Y-val.
printenv - Kiírja az úgynevezett " környezeti változók " listáját az értékükkel együtt. Paraméterek nélkül hívják.
Környezeti változók:
echo - kiírja a beállított SSI változó értékét. Érvényes attribútumok:
flastmod - megjeleníti a fájl utolsó módosításának dátumát a timefmt segítségével meghatározott formátumban. Az attribútumok hasonlóak az fsize attribútumokhoz.
fsize – Megjeleníti a fájl méretét a sizefmt segítségével meghatározott formátumban. Érvényes attribútumok:
tartalmazza - egy másik dokumentum vagy fájl szövegét tartalmazza a beolvasott fájlban. Az összes megállapított hozzáférés-korlátozási szabály érvényesül a mellékelt fájlra. Ha abban a könyvtárban, amelyből a fájl szerepel, az IncludesNOEXEC beállítás be van állítva, és a dokumentum felvétele a program futtatását eredményezné, a dokumentum nem kerül bele, és hibaüzenet jelenik meg. A CGI-szkriptek a szokásos módon egy URL-lel hívódnak meg, amely tartalmazhat egy kódolt lekérdezési karakterláncot. A fájl helyét a következő attribútumok határozzák meg:
Az ellenőrzés alapvető elemei a következők:
<!--#if expr="teszt_feltétel" --> <!--#elif expr="teszt_feltétel" --> <!--#else --> <!--#endif -->Az elif és az else elemek nem kötelezőek.
Az endif elem befejezi az if elemet, és szükséges.
A teszt_feltétel a következők egyike lehet:
Ha a string2 /karakterlánc/ alakú , akkor a rendszer reguláris kifejezésként értelmezi. Szintaxisuk hasonló a Unix egrep parancsának reguláris kifejezéseihez (lásd: Reguláris kifejezések )
(test_condition) igaz, ha a teszt_feltétel igaz;
! a teszt_feltétel igaz, ha a teszt_feltétel hamis
teszt_feltétel1 && teszt_feltétel2 igaz, ha a teszt_feltétel1 és a teszt_feltétel2 is igaz
teszt_feltétel1 || a teszt_feltétel2 igaz, ha legalább a teszt_feltétel1 vagy a teszt_feltétel2 igaz.
"=" és "!=" elsőbbséget élvez az "&&" és a "||" és a "!" a legmagasabb prioritású.
Minden, amit nem ismer fel változóként, karakterláncnak számít. Ha a karakterláncban szóközök vagy tabulátorok vannak, akkor azt idézőjelek közé kell tenni.
Érdemes megjegyezni, hogy jobb, ha nem használunk SSI-parancsokat, amikor oldalakat hozunk létre olyan szerkesztőkben, mint a Front Page - általában nem értik meg és kidobják őket, és hogy az egyik SSI-parancs nem hívható meg a másikból (mivel ez lehetetlen egy SSI-parancsot egy szkriptből és egy szkriptet egy szkriptből) .