Indtil nu har vi kun beskæftiget os med at inkludere filer, men med SSI kan du også inkludere mange andre ting. I denne lektion gennemgås hvordan du med SSI kan inkludere såkaldte server variabler i dine dokumenter.
Hvis du har en smule kendskab til ASP eller PHP, vil du kunne nikke genkendende til flere ting i denne lektion. Ellers kan du glæde dig til at lære helt nye muligheder for, at indsætte blandt andet dato og tid på dine sider.
Under denne lidt kryptiske betegnelse gemmer der sig en række variabler, hvis værdier du kan få returneret med #echo var.
Som et eksempel kigger vi på variablen DATE_LOCAL, som indeholder den aktuelle dato og det aktuelle tidspunkt. Det vil sige at du kan inkludere den aktuelle dato og tidspunkt på dine dokumenter sådan her:
<html>
<title>Lokal tid</title>
<head>
</head>
<body>
<h1>Lokal tid</h1>
<!--#echo var="DATE_LOCAL"-->
</body>
</html>
Der er tale om datoen og tidspunktet på serveren, så hvis en bruger requester sider, som ligger på en server i en anden tidszone, passer tidspunktet sikkert ikke med tidspunktet hos brugeren.
Det er vigtigt at forstå, at resultatet af SSI kommandoer ikke afhænger af brugerens browser Som du nok husker fra lektion 1, er SSI jo en serverside teknologi. Derfor kan du være helt sikker på, at det du laver med SSI virker i alle browsere på markedet.
Der findes naturligvis mange flere muligheder end DATE_LOCAL. Nedenstående tabel viser SSI environment variables:
| Syntaks | Beskrivelse |
|---|---|
| <!--#echo var="DATE_LOCAL"--> | Aktuel dato og tidspunkt i lokal tidszone |
| <!--#echo var="DATE_GMT"--> | Aktuel dato og tidspunkt i GMT (Greenwich Mean Time) |
| <!--#echo var="LAST_MODIFIED"--> | Dato og tid for hvornår den aktuelle fil sidst er blevet modificeret |
| <!--#echo var="DOCUMENT_URI"--> | Den virtuelle sti (i forhold til roden af sitet) for den aktuelle fil |
| <!--#echo var="DOCUMENT_NAME"--> | Navn og sti for den aktuelle fil |
| <!--#echo var="QUERY_STRING_UNESCAPED"--> | Indholdet af querystring (det som står efter et eventuelt ? i URL'en) |
CGI environment variables er også tilgængelige for SSI. Variablerne inkluderes med #echo var som vist ovenfor.
| Syntaks | Beskrivelse |
|---|---|
| <!--#echo var="HTTP_ACCEPT"--> | Returnerer kommasepareret liste over hvilke MIME typer klienten accepterer |
| <!--#echo var="HTTP_ACCEPT_LANGUAGE"--> | Hvilke sprog, som er acceptable for klienten. F.eks. er 'en-gb' britisk engelsk og 'da' dansk. |
| <!--#echo var="HTTP_HOST"--> | Navnet på serveren |
| <!--#echo var="HTTP_REFERER"--> | URL'en på den side hvorfra der blev linket til den pågældende side |
| <!--#echo var="HTTP_USER_AGENT"--> | Hvilken browser der benyttes - generelt format er: software/version library/version. |
| <!--#echo var="HTTP_REFERER"--> | URL'en på den side hvorfra der blev linket til den pågældende side |
| <!--#echo var="PATH"--> | System stien på din server |
| <!--#echo var="PATH_INFO"--> | Evt. ekstra information, som er sendt til scriptet |
| <!--#echo var="REMOTE_HOST"--> | Hostnavnet. Hvis serveren ikke har denne information, bør den istedet sætte REMOTE_ADDR |
| <!--#echo var="REMOTE_ADDR"--> | Brugerens IP-adresse |
| <!--#echo var="REMOTE_PORT"--> | Porten som brugeren er forbundet til på serveren |
| <!--#echo var="SERVER_ADDR"--> | Serverens DNS adresse |
| <!--#echo var="SERVER_ADMIN"--> | E-mail adressen til serverens administrator |
| <!--#echo var="SERVER_NAME"--> | Serverens navn, DNS alias, eller IP adresse |
| <!--#echo var="SERVER_PORT"--> | Port nummeret |
| <!--#echo var="SERVER_SOFTWARE"--> | Hvilken software serveren benytter |
| <!--#echo var="SERVER_PROTOCOL"--> | Protokollen den pågældende request blev sendt efter |
| <!--#echo var="REQUEST_METHOD"--> | Metoden den pågældende request blev sendt med - for HTTP, vil det sige "GET", "HEAD" eller "POST" |
| <!--#echo var="SERVER_PROTOCOL"--> | Protokollen den pågældende request blev sendt efter |
| <!--#echo var="QUERY_STRING"--> | Querystring - det vil sige informationen efter et eventuelt '?' i URL'en |
| <!--#echo var="SCRIPT_NAME"--> | Virtuel sti til scriptet |
Med fsize og flastmod kan du inkludere størrelsen på en fil, samt datoen hvor den sidst blev redigeret/opdateret. Bemærk at disse metoder ikke benytter #echo var som ovenfor.
Ved at angive den virtuelle sti til en hvilken som helst fil på et site, kan du få returneret filens størrelse på følgende måde:
<!--#fsize virtual="/tutorials/ssi/lektion5.asp" -->
Som standard angives størrelsen i kilobytes, men formatetet kan nemt ændres. Hele den næste lektion handler om formater. Derfor behøver du ikke allerede nu forstå helt præcist hvordan formatet ændres, men prøv at kigge på dette eksempel:
<!--#config sizefmt="bytes"--> <!--#fsize virtual="/tutorials/ssi/lektion5.asp" -->
...og i praksis:
<html> <title>fsize</title> <head> </head> <body> <h1>Filens størrelse</h1> <p>Denne fil fylder: <!--#fsize virtual="/tutorials/ssi/lektion5.asp" --> kb</p> <p>Eller mere nøjagtigt: <!--#config sizefmt="bytes"--> <!--#fsize virtual="/tutorials/ssi/lektion5.asp" --> bytes</p> </body> </html>
Ved at angive den virtuelle sti til en hvilken som helst fil på et site, kan man få returneret datoen hvor filen sidst blev ændret/opdateret på følgende måde:
<html>
<title>fsize</title>
<head>
</head>
<body>
<h1>Sidst redigeret</h1>
<p>Denne fil blev sidst redigeret:
<!--#flastmod virtual="/tutorials/ssi/lektion5.asp" --></p>
</body>
</html>
I den næste lektion kigger vi nærmere på, hvordan du kan ændre på datoformatet i SSI.