Kontakt aufnehmen

SSI: Befehle

Die SSI-Technologie stellt Ihnen eine Reihe von Befehlen zur Verfügung, mit denen ein gewöhnliches HTML-Dokument "dynamischer" werden kann. Bitte beachten Sie, dass nicht jeder Server zwangsläufig alle Befehle beherrschen muss.

echo

Der echo-Befehl gibt den Wert einer Variablen aus. Dies kann entweder eine Servervariable oder eine selbst angelegte Variable sein. Welche Variable ausgegeben werden soll wird als Wert des var-Attributs bestimmt. Beispiel:

<!--#echo var="DOCUMENT_NAME"-->

set

Mit dem set-Befehl wird eine Variable erstellt bzw. deren Wert geändert. Dazu muss mittels des var-Attributs der Name der Variablen angegeben werden, sowie mittels value-Attribut der zu setzende Wert. Beispiel:

<!--#set var="MeineVariable" value="Ich bin eine SSI-Vaiable" -->
<!--#echo var="MeineVariable"-->

include

Der include-Befehl fügt eine andere Datei an der Stelle des Befehls ein. Eine Datei kann hierbei entweder virtuell (virtual="Dateiname") oder real (file="Dateiname") eingefügt werden. Der Unterschied zwischen file="..." und virtual="..." besteht im verwendeten Pfad: Bei file wird der Pfad relativ von der aktuellen Datei aus gesehen. D.h. befindet sich die aktuell abgerufene Datei in C:wwwroot und die zu importierende Datei unter C:wwwrootimportdatei.html, muss als Pfad importdatei.html angegeben werden. Wird virtual verwendet, so wird die Datei im angegebenen Virtuellen-Verzeichnis gesucht - der Pfad ist also so anzugeben, wie er vom Webbrowser anzugeben wäre um die Datei abzurufen. Beispiel:

<!--#include file="C:meinedatei.html" -->
<!--#include virtual="/meinedatei.html" -->

fsize

Der fsize-Befehl gibt die Größe einer Datei an. Als Attribut muss hier, ebenso wie beim include-Befehl entweder via file oder virtual die Datei angegeben werden, deren Größe angezeigt werden soll. Beispiel:

<!--#fsize virtual="/grossedatei.txt" -->

flastmod

Der flastmod-Befehl gibt das Datum aus, an dem eine Datei das letzte mal geändert wurde. Als Attribut muss hier, ebenso wie beim include-Befehl entweder via file oder virtual die Datei angegeben werden, deren Änderungsdatum angezeigt werden soll. Beispiel:

<!--#flastmod virtual="/grossedatei.txt" -->

exec

Der exec-Befehl ermöglicht es eine Datei oder ein CGI-Skript auszuführen. Soll ein CGI-Skript ausgeführt werden, wird als Wert des cgi-Attributs die entsprechende Datei angegeben. Soll eine andere Datei ausgeführt werden, die kein CGI-Skript ist, so wird diese als Wert des cmd-Attributs angegeben. Beispiel:

<!--#exec cmd="machwas.exe" -->
<!--#exec cgi="machwas.pl" -->

if

Mit dem if-Befehl wird eine Bedingung formuliert. Die Bedingung selbst wird dabei als Wert des expr-Attributs notiert. Trifft die Bedingung zu, wird der nach dem Befehl folgende Teil ausgegeben - trifft sie nicht zu, wird der Teil weggeschnitten. Ein solcher Abschnitt endet jeweils beim nächsten Bedingungs-Befehlt, also bei if, else, elif oder endif. Auch verschachtelte Bedingungen sind möglich. Beispiel:

<!--#if expr="${DOCUMENT_NAME} = 'zeigen.shtml'" -->
 Ich bin in allen Dateien außer in zeigen.shtml unsichtbar
<!--#endif -->

Bedingungen

Bedingungen können wie in anderen Programmiersprachen auch mit Gleichheit (=), Ungleichheit (!=), Größer (>) und Kleiner (<) sowie Größer-Gleich (>=) und Kleiner-Gleich (<=) verwendet werden. Ebenso sind Verknüpfungen via UND (&&) oder ODER (||) und Verschachtelungen mit runden Klammern möglich. Will man den Wert einer Variablen prüfen, so wird dieser durch ${Variablenname} notiert. Ebenso sind auch reguläre Ausdrücke verwendbar.

else

Der else-Befehl erzeugt einen alternativen Pfad. Wird eine zuvor formulierte Bedingung mit nicht zutreffend bewertet, so wird der Bereich nach der else-Anweisung angezeigt. Ist die Bedingung zutreffend, wird der Bereich nicht angezeigt. Beispiel:

<!--#if expr="${DOCUMENT_NAME} = 'zeigen.shtml'" -->
 Ich bin in allen Dateien außer in zeigen.shtml unsichtbar
<!--#else-->
 Ich werde in allen anderen Dateien angezeigt
<!--#endif -->

elif

Mit dem elif-Befehl wird eine alternative Bedingung formuliert. Trifft eine zuvor formulierte Bedingung nicht zu, wird die mit elif definierte Bedingung getestet. Trifft sie zu, wird ebenso wie beim if-Befehl der nachfolgende Bereich angezeigt. Beispiel:

<!--#if expr="${DOCUMENT_NAME} = 'zeigen.shtml'" -->
 Ich bin in allen Dateien außer in zeigen.shtml unsichtbar
<!--#elif expr="${DOCUMENT_NAME} = 'zeigen2.shtml'" -->
 Ich bin in allen Dateien außer in zeigen2.shtml unsichtbar
<!--#else-->
 Ich werde in allen anderen Dateien angezeigt
<!--#endif -->

endif

Der endif-Befehl beendet einen Bedingungsbereich. Beispiel siehe if-Befehl.

printenv

Der printenv-Befehl gibt eine Liste der Umgebungsvariablen zusammen mit den dazugehörigen Werten aus. Beispiel:

<pre>
<!--#printenv -->
</pre>

config

Der config-Befehl ermöglicht die Konfiguration der SSI . Dazu können drei Attribute verwendet werden:
Mit dem errmsg-Attribut werden eventuelle Fehlermeldungen konfiguriert. Als Wert wird einfach die Fehlermeldung notiert, die bei SSI-Fehlern angezeigt werden soll.
Mit dem sizefmt-Attribut wird die Ausgabe von Dateigrößen konfiguriert. Als Wert kann hierbei entweder bytes für Ausgabe in Bytes oder abbrev für verkürzte Ausgabe (z.B. KB) verwendet werden.
Mit dem timefmt-Attribut wird die Ausgabe von Datumsangaben konfiguriert. Man notiert dazu als Wert den Text, wie er ausgegeben werden soll. An den Stellen an denen ein bestimmter Wert erscheinen soll, wir dann eines der folgenden Markierungen gesetzt:

  • %a - Wochentag in Kurzform
  • %A - Wochentag als Wort
  • %b - Monat in Kurzform
  • %B - Monat als Wort
  • %d - Tag mit führender Null
  • %e - Tag ohne führende Null
  • %H - Uhrzeit (0-23)
  • %I - Uhrzeit (0-11)
  • %j - julianisches Datum
  • %m - Monat mit führender Null
  • %M - Minuten mit führender Null
  • %p - Tageszeit (AM/PM)
  • %S - Sekunden mit führender Null
  • %U - Kalenderwoche
  • %w - Tag der Woche
  • %y - Jahr 2stellig
  • %Y - Jahr 4stellig
  • %Z - Zeitzone

Du arbeitest in einer Agentur oder als Freelancer?
Dann wirf doch mal einen Blick auf unsere Software FeatValue.

Über uns

Stefan Wienströer

Wir entwickeln Webanwendungen mit viel Leidenschaft. Unser Wissen geben wir dabei gerne weiter. Mehr über a coding project

Cookie-Einstellungen

Helfen Sie dabei, uns noch besser zu machen. Wir nutzen Cookies und ähnliche Technologien, um die Website auf Ihre Bedürfnisse anzupassen. Zur Datenschutzerklärung

Auswahl speichern