þekking Discovery
/ Knowledge Discovery >> þekking Discovery >> tækni >> tölva >> hugbúnaði >>

Hvernig CGI Scripting Works

ndi líta út ef þú skrifar það í C:
 #include < stdio.h > int helstu () {printf (" Content-Type: text /html \\ n \\ n " ); printf (" < HTML > \\ n "); printf (" < body > \\ n "); printf (" < h1 > Hello there  Á vefþjóninn minn, ég gekk þetta forrit í skrá simplest.c og síðan safna saman það með því að segja: 
 GCC simplest.c -o simplest.cgi 

​​(Sjá Hvernig C Programming Virkar fyrir upplýsingar um gerð C forrit.)

Með því að setja simplest.cgi í CGI-bin skrá, það er hægt að framkvæma. Eins og þú geta sjá, allt sem handritið gerir er að búa til síðu sem segir, "! Hello there " Aðeins hluti sem er óvænt er lína sem segir:

 printf (" Content-Type: text /html \\ n \\ n "); 

Línan " Content-Type: text /html \\ n \\ n " er sérstakt stykki af texta sem verður að vera það fyrsta sem send til vafra með hvaða CGI forritið. Svo lengi sem þú manst að gera það, allt verður í lagi. Ef þú gleymir, vafrinn mun hafna framleiðslu á handriti.

Hægt er að gera það sama í Perl. Gerð þessa perl kóða í skrá sem heitir simplest.pl:

 #! /usr /bin /perlprint " Content-Type:! texta /html \\ n \\ n "; prenta " < HTML > < body > < h1 > Hello World "; prenta " < /h1 > < /body > < /html > \\ n "; 

Settu skrá inn CGI-bin möppunni þinni. Á UNIX vél, getur það hjálpað til við að líka slegið:

 chmod 755 simplest.pl 

Þetta segir UNIX sem handritið er executable.

Þú hefur bara séð Grunnhugmyndin á bak CGI forskriftir. Það er mjög einfalt! A program keyrir og þess framleiðsla
er sent til vafra sem heitir handritið. Normal framleiðsla send stdout er það fær send til vafra

Í heild benda á CGI forskriftarþarfir, er hins vegar að búa til dynamic innihald -. Í hvert sinn handritið framkvæmir, framleiðsla ætti að vera öðruvísi. Eftir allt saman, ef framleiðsla er það sama í hvert skipti sem þú keyrir handrit, þá þú might eins og heilbrigður að nota truflanir síðu. Eftirfarandi C program sýnir mjög einfalt dynamic innihald:

 #include < stdio.h > int incrementcount () {skrá * f; int i; f = fopen (" count.txt ", " r + "); Ef

Page [1] [2] [3] [4] [5] [6] [7] [8] [9]