Przewodnik Użytkownika Abyss Web Server X1 Dla MacOS X
Poprzedni | Rozdział 6. Pliki Dołączane Serwera [SSI] | Następny

# Dyrektywy

## #config

Powyższa dyrektywa używana jest do unieważnienia domyślnych ustawień SSI podczas przetwarzania pliku SSI.

### Przykład 1: `<!-- #config errmsg="komunikat o błędzie" -->`

`#config errmsg` używane jest do zmiany komunikatu wysyłanego do klienta w momencie, gdy wystąpi błąd SSI. Domyślnie, błędy SSI są zgłaszane ze szczegółowymi sposobami zachowania się, które ułatwiają debugowanie.

### Przykład 2: `<!-- #config sizefmt="format_rozmiaru" -->`

`#config sizefmt` kontroluje sposób, w jaki serwer wyświetla rozmiary plików SSI. `size_format` może mieć dwie wartości:

- `ABBREV`: wyświetla rozmiary plików w kilobajtach (Kb) lub megabajtach (Mb).

- `BYTE`: wyświetla rozmiary plików w bajtach. Jest to wartość domyślna.

### Przykład 3: `<!-- #config timefmt="time_format" -->`

`#config timefmt` określa format, w jakim zostaną wstawione daty w SSI. `time_format` musi zawierać symbole wieloznaczne, które są zastępowane przez opowiadające części daty. Dostępne symbole są wypisane poniżej wraz z opisem:

- `%a`: Skrócona nazwa dnia tygodnia.

- `%A`: Pełna nazwa dnia tygodnia.

- `%b`: Skrócona nazwa miesiąca.

- `%B`: Pełna nazwa miesiąca.

- `%c`: Przedstawienie daty i czasu.

- `%d`: Dzień miesiąca (01-31).

- `%H`: Godzina w formacie 24-godzinnym (00-23).

- `%I`: Godzina w formacie 12-godzinnym (01-12).

- `%j`: Dzień roku jako liczba dziesiętna (001-366).

- `%m`: Miesiąc jako liczba dziesiętna (01-12).

- `%M`: Minuta jako liczba dziesiętna (00-59).

- `%p`: Wskaźnik A.M. lub P.M. w formacie 12-godzinnym.

- `%S`: Sekunda jako liczba dziesiętna (00-59).

- `%U`: Tydzień jako liczba (00-51). Niedziela jest pierwszym dniem tygodnia.

- `%w`: Dzień tygodnia jako liczba (0-6). Niedziela jest pierwszym dniem tygodnia.

- `%W`: Tydzień roku jako liczba (00-51). Poniedziałek jest pierwszym dniem tygodnia.

- `%x`: Przedstawienie daty.

- `%X`: Przedstawienie czasu<-- dla obecnego obszaru C -->.

- `%y`: Rok bez wieku (00-99).

- `%Y`: Rok z wiekiem (0000-9999).

- `%z`: Nazwa strefy czasowej; pusta jeśli nieznana.

- `%Z`: Skrócenie nazwy strefy czasowej; pusta jeśli nieznana.

- `%%`: Znak procentu.

## #echo

### Przykład: `<!-- #echo var="variable_name" -->`

`#echo` wstawia wartość zmiennej środowiskowej SSI. Zmienne środowiskowe SSI zawierają te dostępne dla skryptów CGI (zobacz "Zmienne środowiskowe CGI" w rozdziale "Skrypty CGI") i pięć specjalnych dla SSI:

- `DOCUMENT_NAME`: Nazwa przetworzonego pliku SSI.

- `DOCUMENT_URI`: Wirtualna ścieżka do aktualnie przetworzonego pliku.

- `DATE_LOCAL`: Aktualna lokalna data.

- `DATE_GMT`: Aktualna uniwersalna data (GMT).

- `LAST_MODIFIED`: Data ostatniej modyfikacji przetworzonego pliku.

Jeśli `variable_name` nie jest prawidłową zmienną środowiskową SSI, dyrektywa jest ignorowana.

## #exec

### Przykład 1: `<!-- #exec cgi="cgi_file" -->`

`#exec cgi` uruchamia skrypty CGI i wstawia jego wynik(i). Jeśli `cgi_file` zaczyna się znakiem `/`, uważana jest za wirtualną ścieżkę, a dyrektywy będą zachowywać się jakby to było `<!-- #include virtual="cgi_file" -->`. Jeśli `cgi_file` nie zaczyna się znakiem `/`, wtedy, nastomiast, uważana jest jako za względną nazwę pliku. `#exec cgi` będzie zachowywać się jak by to było `<!-- #include file="cgi_file" -->`.

> Uwaga: `#exec cgi` jest obsługiwane tylko w celu zgodności, więc jego użycie jest niezalecane. Powinieneś używać dyrektywy `#include` zamiast `#exec cgi`.

### Form 2: `<!-- #exec cmd="shell_command" -->`

`#exec cmd` wykonywuje polecenie powłoki i wstawia jego wyniki. Scieżka plików wykonywalnych powłoki umieszczona jest w systemowej zmiennej środowiskowej `SHELL`. Jeśli ta zmienna jest pusta lub nie istnieje, `/bin/sh` jest używana jako domyślna powłoka.

> Uwaga: `#exec cmd` musi być wykonywane z nadzwyczajną ostrożnością. Jeśli użytkownik może zmieniać lub modyfikować strony HTML w twojej witrynie (które występują w przypadku jeśli masz - przykładowo - forum lub księgę gości), musisz wyłączyć `#exec cmd`. Istotnie, mogą one zawierać znaczniki SSI z niebezpiecznymi dyrektywami `#exec cmd`, które mogą zostać zdalnie wywołane.

## #flastmod

### Przykład 1: `<!-- #flastmod file="file_name" -->`

`#flastmod file` wstawia datę ostatniej modyfikacji pliku określonego w zmiennej `file_name`. `file_name` to względna ścieżka z katalogu zawierającego przetworzony plik SSI. Plik ten może być samym katalogu lub w jednym z jego podkatalogów.

### Przykład 2: `<!-- #flastmod virtual="virt_path" -->`

`#flastmod virtual` wstawia datę ostatniej modyfikacji pliku, którego wirtualna ścieżka to `virt_path`.

## #fsize

### Przykład 1: `<!-- #fsize file="file_name" -->`

`#fsize file` wstawia rozmiar pliku określonego w `file_name`. `file_name` to ścieżka wzgledna z katalogu zawierającego przetworzony plik SSI. Może być ten plik umieszczony tylko w tym samym katalogu lub w jednym z jego podkatalogów.

### Przykład 2: `<!-- #fsize virtual="virt_path" -->`

`#fsize virtual` wstawia rozmiar zawartości wynikającej z żądania `virt_path` od serwera. Jeśli `virt_path` jest plikiem statyczym, którego rozmiar zostanie wstawiony. Jeśli jest to skrypt CGI lub plik SSI, rozmiar będzie szacowany przez serwer i rozmiar pochodzący z wyników zostanie wstawiony.

## #include

### Przykład 1: `<!-- #include file="file_name" -->`

`#include file` wydaje polecenie serwerowi sieciowemu aby wstawił plik, który musi zawierać prawidłową zawartość HTML. `file_name` jest ścieżką wzgledną od katalogu zawierającego przetworzony plik SSI. Załączony plik może być tylko w tym samym katalogu lub w jednym z jego podkatalogów.

### Przykład 2: `<!-- #include virtual="virt_path" -->`

`#include virtual` wstawia zawartość wynikającą z żądania `virt_path` od serwera. Jeśli `virt_path` jest plikiem statycznym, jego zawatość zostanie załączona "taka, jaka jest". Jeśli jest to skrypt CGI lub plik SSI, jest ona szacowana przez serwer, a następnie wstawiane są wyniki. `virt_path` musi zawierać lub generować prawidłową zawartość HTML.

Poprzedni | Spis treści | Następny
Składnia SSI | Początek rozdziału | Słowniczek

Copyright © 2001-2003 by Aprelium Technologies