Hlavná stránka · Diskusné Fórum · Pracovné príležitosti · Zoznam

 Main Menu
o Hlavná stránka
o Zoznam tém
o Zoznam
o Odporučte nás
o Užívatelia
o Vaše konto
o Pridaj článok
o Štatistiky
o Top 10

 Reklama


 Developer Zone's
o Internet
o Tools
o Linux
o CGI Zone
o ASP Zone
o ASP.net
o PHP Zone
o CSS Zone
o JavaScript
o MySQL
o WAP / WML
o WML / WMLScript
o XML / XHTML
o Tipy a triky
o Best of web
o WebServers
o WebDesign
o Grafika

 Servis
o Vyhľadávanie
o Fórum
o Workoffice
o Zoznam článkov
o Reklama
o Pridaj článok
o Pridaj novinku

Napíšte nám
Homepage Do favoritov

 LinkExpres
Interval.cz · Pc.sk
Builder.cz · Mobilmania
PCSvet.cz · Asp.cz
Webdnes · Živě.sk
Zoznam.sk · Atlas.sk
Inzine.sk · PHP.sk
Agent.sk · Lupa.cz
Code.box.sk · Root.cz
Pixel32 · Grafika.cz

 forum.developer.sk
o Fórum ::
o Markup languages
o Scriptové jazyky
o CGI
o PHP/MySQL
o Perl
o Grafika
o Webservery
o HTML Editory
o Browsery
o Bookmarx
o ASP
o Vytvor tému ::

 Pracovné príležitosti
o Ponúkate prácu?
o Hľadáte prácu?

 Autori developer.sk
o Martin Nemeček
o Sväťo Straka
o Jany Masaryk
o Jozef Murín

 
CGI / Perl [ 07. February 2000] - Svato_Straka
Server side includes (SSI) - 9. časť CGI
Určite sa už každý z vás stretol s problémom, keď potrebuje do stránky vložiť určité informácie, ako napr. dátum poslednej modifikácie súboru, CGI premenné, či použiť vo viacerých súboroch ten istý text a podobne.



Máte samozrejme možnosť napísať si pre vloženie požadovaných informácií potrebný skript alebo text, ktorý potrebujete mať vo viacerých súboroch do každého z nich napísať, no je tu ešte jedna možnosť, ako si tieto činnosti uľahčiť - SERVER SIDE INCLUDES (SSI).

SSI sú vlastne direktívy, pomocou ktorých môžete z HTML dokumentu spustiť ľubovoľný program či CGI skript a ich výstup poslať do daného dokumentu, alebo zobraziť určité dáta. Keď klient pristupuje k stránke, ktorá SSI obsahuje, je táto stránka pred zobrazením odovzdaná parseru, ktorý zabezpečí činnosti určené pomocou SSI a až potom je výstup odovzdaný klientovi.

Ako server zistí, že stránka na ktorú sa klient obrátil obsahuje SSI? Server automaticky neanalyzuje všetky súbory, ale len tie, ktoré sú ukončené určitou príponou nastavenou v konfigurácii servra (štandardne to býva .shtml).

SSI má samozrejme aj svoje nevýhody. V prvom rade je to samozrejme záťaž systému vznikajúca analyzovaním súborov pred odoslaním klientovi. Ďalším rizikom je ohrozenie bezpečnosti - pokým užívateľom, ktorých stránky na svojom serveri hosťujete nedôverujete (správnu dávku paranoje by mal mať každý administrátor), môžete sa dostať do veľkých problémov vďaka tomu, že v niektorej zo stránok môže byť direktíva sprístupňujúca citlivé údaje vášho systému.

V nasledujúcej tabuľke sú uvedené SSI direktívy, ktoré máte k dispozícii pre vaše stránky:

echo var Vloží hodnotu premennej prostredia alebo SSI premennej
include Vloží obsah súboru do aktuálneho dokumentu
file Relatívna cesta k súboru vzhľadom k akt. adresáru
virtual Virtuálna cesta k dokumentu na serveri
fsize file Vloží veľkosť zadaného súboru
flastmod file Vloží dátum a čas poslednej modifikácie súboru
exec Spustí program a jeho výstup presmeruje do akt. dokumentu
cmd Spustí ľubovoľnú aplikáciu na lokálnom počítači
cgi Spustí CGI skript
config Nastaví rôzne aspekty SSI
errmsg Zmení defaultnú chybovú správu
sizefmt Určí formát pre veľkosť súboru
timefmt Určí formát pre zobrazenie dátumu a času

Ako tieto direktívy do svojho súboru začleníte? Možno ste sa už niekedy stretli s tagom, ktorý vyzerá ako komentár, ale obsahuje aj znak <!--Takáto direktíva by do aktuálneho dokumentu vložila obsah súboru adresa.txt, ktroý je umiestnený v tom istom adresári ako náš dokument.

Myslím že vysvetľovať väčšinu z direktív uvedných v tabuľke nie je potrebné, pozastavím sa len pri dvoch: echo a config.

Direktíva echo vloží do dokumentu premennú prostedia (o tých sme si hovorili v prvej časti tohto seriálu) alebo premennú SSI. Príkladom pre vloženie premennej prostredia by mohlo byť napr. vloženie IP adresy, z ktorej je stránka volaná:
<!--O premenných SSI však zatiaľ reč nebola. Aké sú premenné SSI? Nájdete ich v nasledujúcej tabulke:

DOCUMENT_NAME Názov aktuálneho súboru
DOCUMENT_URI Virtuálna cesta k súboru
QUERY_STRING_UNESCAPED Nekódovaný reťazec dotazu so všetkými metaznakmi shellu
DATE_LOCAL Aktuálny dátum a čas v miestnom časovom pásme
DATE_GMT Aktuálny dátum a čas GMT
LAST_MODIFIED Dátum a čas poslednej modifikácie aktuálneho súboru

Direktíva config vám umožňuje nastaviť si niektoré výstupy SSI.

Môžete si zmeniť napr. štandardné chybové hlásenie, ktoré obdržíte, keď sa pokúsite pomocou SSI vložiť do dokumentu neexistujúci súbor. Toto hlásenie je:
[an error occurred while processing this directive]
Pomocou direktívy config ho môžete zmeniť nasledujúcim spôsobom:
<!--

Rovnako máte možnosť zmeniť zmeniť si formát, v akom je uvádzaná veľkosť súboru. Pomocou reťazca abbrev určíte, že veľkosť súboru sa zaokrúhli na kilobajt hore, pomocou bytes určíte, že veľkosť súboru sa má zobraziť v bajtoch.

Ak si chcete zmeniť formát výpisu dátumu a času, dosiahnete to rvnako pomocou direktívy config. Nasledujúci príklad zobrazí dátum a čas poslednej zmeny aktuálneho súboru podľa našich zvyklostí:
<!--Posledná zmena dokumentu: <!--
Nasleduje tabulka v ktorej môžete nájsť reťazce pre konfiguráciu formátu dátumu a času:

Formát Hodnota Príklad
%a Deň ktorým začína týždeň Sun
%A Deň v týždni Sunday
%b Mesiac ktorým začína rok Jan
%B Názov mesiaca January
%d Dátum (dd) 03
%D Dátum vo formáte %m/%d/%y 03/15/98
%e Dátum (d) 3
%H 24-hodinový formát času 16
%I 12-hodinový formát času 4
%j Číslo dňa v roku 259
%m Číslo mesiaca (mm) 09
%M Minúty 14
%p AM|PM PM
%r Čas vo formáte %I:%M:%S %p 04:15:22 PM
%S Sekundy 00
%T Čas vo formáte %H:%M:%S 23:12:54
%U Číslo týždňa v roku 16
%w Číslo dňa v týždni 7
%y Číslo roku v storočí 98
%Y Rok 1998
%Z Časové pásmo CEST

Nabudúce sa pozrieme konečne aj na Perl, ukážeme si tvorbu jednoduchého počítadla pre vaše stránky.

 
 Príslušné odkazy k téme
Viac o téme: CGI / Perl | Iné články od: Admin | Pošli komentár | Stránka vhodná na tlač width=15 height=11  Pošli tento článok priateľovi, známemu width=15 height=11


Najčítanejšie články CGI / Perl:
Čo je to CGI? - Úvod do CGI

Ďalšie články v rubrike CGI / Perl:

 

"Server side includes (SSI) - 9. časť CGI" | Login / vytvor konto | 0 Komentárov
Prah
Za obsah komentárov je zodpovedný užívateľ, nie prevádzkovateľ týchto stránok.



Autorské práva:   ©1999 - 2001 Developer Zone [developer@developer.sk]

Všetky články sú vlastníctvom autorov Developer Zone. Všetky práva vyhradené. Stránky Developer.sk sú vytvorené pomocou PHP-Nuke.
Odkazy na nové články je možné preberať pomocou:Backend.php.