CGIとわ
CGIとわ
・
CGIというのはネット上に置いて使うプログラムで(自分のPCでも動かすことができるので厳密には違いますが;)ネット上の動的コンテンツは大抵このCGIです。
動的コンテンツというのは掲示板・カウンター・時計など、時間が経ったら表示が変わる・訪問者さんが「書き込む」などの操作ができるページのことを指します。
缶詰めの掲示板・投稿所なども全てこの動的コンテンツで、CGIかPHP(CGIと似たようなものです)というプログラムを動かして表示させています。
その反対に静的コンテンツというのは簡単に言ってしまうとただの文章ファイルです。
文字の点滅やスクロールなどは例外的にできますが、基本的にいくら再読込しても表示が変わらないページのことです。
CGIはPerlという言語(有名なC言語の親戚みたいなもの)で書かれています。これをレンタル会社に借りたパソコンのハードディスクにプログラムを置いてそれを携帯電話やパソコンのインターネットで閲覧・操作する形になります。
友達の家のパソコンにゲームをインストールして、それを自宅のパソコンからネットで遠隔操作する感じ、と言った方がわかりやすいかもしれません。
メリット
・
サイト作成でいろんなことができる
最近ではレンタルサービスもたくさんの種類があり、豊富な機能を持ったものもたくさんありますがそれでも100%完全カスタムというのはできません。
しかしCGIは全て自分で作ったプログラムなので基本的にどんなことでもできます。
レイアウトはもちろん、掲示板に過去ログ機能を追加したり、メール投稿をできるようにしたり、スパム業者からの投稿を排除したりとスキルさえあれば「こんな機能欲しいな」ってのを自分のサイトに取り入れる事ができるのが最大のメリットです(もちろん手間はすごくかかりますけどね^^;)。
・
割と簡単に改造できる。
Perl言語はプログラム言語の中では割と簡単な部類に入ります。
また、CGIプログラムはソースをそのままアップして動かすものなので、配布されているCGIもソースそのままです、つまりメモ帖で簡単に中身を見ることができます。
言い換えたら、そのソースを書き換えれば誰でも改造することができちゃうわけです。
↓はif文の一番簡単な一例です
if($n == 1){
print "結果1";
}elsif($n == 5){
print "結果2";
}else{
print "結果3";
}
なんとなく分かる方も多いと思いますが、このプログラムを日本語的に言い換えると
もし$nが1なら「結果1」を表示、$nが5なら「結果2」を、$nがそれ以外なら「結果3」という文字をそれぞれ表示しる!っていう意味です。
CGIはあらゆるところにこのif文とprint文が使われているので、改造するときは必ずといっていいほど触れることになります。
逆を言えばこのif文とprint文を覚えるだけで、多くのCGIでデザインとかの変更ができるようになります。
また、新しい機能を追加したい場合でも既に配布されているCGIのソースを参考にしながら今使ってるCGIに組み込めるのもメリットの一つです。
注意点
・
HTMLとは違いプログラムなので1文字のミスで動作しなくなることがあります。
例えば
print "結果1"
と文末に;を忘れただけで動作エラーになり何も表示されなくなります。
print "結果1":
一時間ソースと睨めっこした挙句よく見たら;が:になってるうううう、なんてことも昔よくやりました(笑)
PHPとわ
・
CGIの親戚にPHPというものがあります。
厳密には親戚ではないのですが、面倒なので割愛w;
CGIと似たようなものなんですが、CGIのelsifがPHPだとelseifだったり文法などが若干違います。またCGIより豊富な機能(モジュール)が使えるためCGIよりPHPで作るほうが簡単に作れる場合が多く、動作もCGIより高速な場合が多いです。
缶詰めで使ってて便利だと思ったのが、画像のリサイズができたり(投稿所のサムネイルとか)することですね、他にも色々あります♪
あとCGIはページ全体をプログラムで記述する必要がありますが、PHPはHTMLにチョチョイとプログラムを付け足すだけで要は必要な部分だけプログラムであとはHTMLそのままで動作するので作るのが楽です。
ついでに、formから渡された文字が自動的に変数($_POST['xxxx'])に格納されるので、CGIで必要だったエンコード処理が不要になったり、もしプログラムミスをしてもエラーがある行と原因が表示されたりで助かります(英語ですけどねw;)
ただデメリットとして、使えるサーバーがCGIよりかなり少ないことがあります。無料サーバーではxreaなど一部以外は大抵使えないので有料サーバーで設置する場合が多いと思います。
TOPに戻る
|
ライト缶
動的コンテンツというのは掲示板・カウンター・時計など、時間が経ったら表示が変わる・訪問者さんが「書き込む」などの操作ができるページのことを指します。
缶詰めの掲示板・投稿所なども全てこの動的コンテンツで、CGIかPHP(CGIと似たようなものです)というプログラムを動かして表示させています。
その反対に静的コンテンツというのは簡単に言ってしまうとただの文章ファイルです。
文字の点滅やスクロールなどは例外的にできますが、基本的にいくら再読込しても表示が変わらないページのことです。
CGIはPerlという言語(有名なC言語の親戚みたいなもの)で書かれています。これをレンタル会社に借りたパソコンのハードディスクにプログラムを置いてそれを携帯電話やパソコンのインターネットで閲覧・操作する形になります。
友達の家のパソコンにゲームをインストールして、それを自宅のパソコンからネットで遠隔操作する感じ、と言った方がわかりやすいかもしれません。