Vstup a v²stup CGI skriptu
Jak ji₧ bylo uvedeno, je CGI skript v normßlnφ program. V unixovΘm
prost°edφ to m∙₧e b²t t°eba b∞₧n² skript shellu, program v jazyce Perl
nebo program zkompilovan² v n∞jakΘm z klasick²ch jazyk∙ (C, Pascal...).
áááChcete-li, aby CGI skript m∞l n∞jak² v²stup, musφ jej zapisovat na
za°φzenφ STDOUT (standardnφ v²stup). Aby ale server a prohlφ₧eΦ poznali
typ vßmi zapisovan²ch dat, je nejprve nutno prohlφ₧eΦi ohlßsit, jak² formßt
dat mohou oΦekßvat. To se provßdφ pomocφ hlaviΦky Content-type: formßt,
nßsledovanΘ jednou prßzdnou °ßdkou. Kde formßt je nahrazen
jednφm z tabulky:
text/plain |
╚ist² text. |
text/html |
Dokument ve formßtu HTML. |
image/gif |
Obrßzek GIF |
image/jpeg |
Obrßzek JPG |
application/x-zip-compressed |
Archiv typu ZIP |
S tabulkou by samoz°ejmn∞ Ülo pokraΦovat, ale tyto formßty snad staΦφ.
áááP°φklad jednoduchΘho dokumentu, vypisovanΘho CGI skriptem:
Content-type: text/plain
Toto je prvnφ CGI skript. Hurß....
áááU vstupu do CGI skriptu ji₧ mßme dv∞ mo₧nosti - pou₧φt standartnφ
vstup STDIN, nebo prom∞nou prost°edφ QUERY_STRING. To jak data do skriptu
budou vstupovat, rozhodne promn∞nß REQUEST_METHOD. Ta m∙₧e nab²vat pouze
dvou hodnot a to POST a GET. Tyto metody se volφ nap°φklad v tagu <FORM
METHOD="POST"...>. Pokud tedy znßme metodu, m∙₧eme p°eΦφst
data a to u metody GET z promn∞nΘ QUERY_STRING a u metody POST ze standartnφho
vstupu. Uámetody POST lze navφc zjistit velikost dat zapisovan²ch do STDIN,
pomocφ promn∞nΘ CONTENT_LENGTH.
|