ビギナーズ CGI

 初歩から始める初心者向けPerl-CGI講座  

| トップページ | CGI設置 | CGI作成 | 作成事例 | 設置用語 | 作成用語 | 関数リファレンス | FAQ | お問合せ |
  
CGIの設置方法
フリーで配布されているCGIを設置する際の手順や注意事項などの説明です。

CGI作成の初歩
初めてCGIを作る方向けの手順を簡単な例で説明しています。

CGI作成ヒント集
こういう事をする時は、どのように行えばいいのか?など具体的な事例を紹介します。

CGIの設置に関する用語
CGIの作成に関する用語
CGIの設置や作成時に使われている用語や関連知識を掲載しています。

設置に関するFAQ
作成に関するFAQ
設置や作成をする際に起こりがちなトラブルの説明と、よくある質問とその回答を掲載しています。


 
 

CGI 作成の初歩
 HTMLページを表示してみる  文字列の置き換え
 複数行のHTMLページを表示  フォームから入力された値を表示
 ソース内にコメントを書く  ファイルに書き出す
 変数を使った簡単な計算  ファイルから読み込む
 条件式を使って分岐する  フォーム入力からファイルに書き出す
 文字列の扱い方を練習  サブルーチンを使用してみる
 ループを練習 (繰り返し処理)  現在の時刻を取得する
 配列の簡単な使い方  ファイルの簡単な操作をする
 配列の操作を行ってみる  不特定が書き込むファイルの排他処理
 文字列の検索と取出し  CGI から画像を表示する



20. CGI から画像を表示してみる

画像の表示方法と、何らかの条件によって表示させる画像を変えるなどをしてみます。


この方法を使うと、CGI の実行ディレクトリで画像の閲覧が許可されていない場合でも
CGI から読み込み、書き出すことで画像を表示する事ができます。

下のサンプルソースでは、同じディレクトリに aaa.jpg という画像を置いておき、CGI を実行すると
その画像を表示するという事をしています。


実行すると、 aaa.jpg が読み込まれ、ブラウザに表示されます。


print "Content-type: image/jpeg\n\n"; の部分では、書き出すファイルがどのようなもの
なのかを指定しています。
今回は jpeg画像でしたので、 jpegのコンテンツタイプを指定していますが、GIF画像など他の
ものを表示する場合は、別のものにします。
ZIPなどのファイルをダウンロードさせたい時、上手く行かない場合は CGI に拡張子の引数を
渡すとサーバ側で上手く認識する場合もあります。
例: https://aimix.jp/beginnerscgi/test.cgi?zip

print "Content-type: image/gif\n\n";
print "Content-type: image/png\n\n";
print "Content-type: image/bmp\n\n";

【参考】 Yahoo! Japan 検索 「mime-type」

HTMLページから CGI を呼び出して画像を表示する

先のCGI は実行すると画像を表示しますので、それをHTMLページ内で使ってみます。
<img src="CGIのURL"> とページ内に記述すると、その部分に画像が表示されます。
CGI 側で何らかの条件によって表示する画像を変えておけば、時間によって表示される
画像や背景が違うなどの処理もできます。


サンプルHTMLページ


画像表示CGI サンプルソース


時間によって表示する画像を変える

time関数から取得できる時刻をlocaltime関数で整形し、時間によって表示する
画像を変化させています。

下のサンプルソースでは0時〜6時に aaa.jpg が表示され、7時〜12時に bbb.jpg が表示され、
13時〜17時には ccc.jpg を表示、それ以外の場合は ddd.jpg を表示しています。




〜時から〜時という風に分けなくても、0時〜23時の全てに画像を指定して表示させても結構です。
上記の例では $hour に時間を示す値(0〜23)が入っていますので、それによって読み込んで表示
する画像を分岐しています。





Beginner's CGI  - Copyright (C) 2003 aimix. All Rights Reserved -