アクセス向上大失敗 www.igros.net
Last updated 2004/8/16
コメントバック 対応

簡単なテスト -開発環境を準備しよう-

次頁 > MySQLのダウンロード
[PR]特集 Amazon.co.jp レコメンドコンテンツ



ごくごく簡単なプログラムを書いてテストしてみましょう。
Cドライブのmyhpと言うフォルダが、http://127.0.0.1/ に設定されており、myhpフォルダ内にcgi-binと言うフォルダがあり、CGI実行パスがエリアスで通っていることを前提にします。

1.Windowsのエクスプローラ、または、マイコンピュータを開き、c:\myhp\cgi-binフォルダを開きます。
2.マウス右クリックで新規作成-ドキュメントファイルを実行し、ファイル名を「test.cgi」に書き換えます。
3.同じく、「test.php」と言うファイルを作成します。

[Perl編]
メモ帳などテキストエディタから、test.cgiを開きます。
以下のようにプログラムを書いてみましょう。

#!/usr/local/bin/perl
($sec, $min, $hour) = localtime;
print "Content-type: text/html\n\n";
print "今の時間は $hour時 $min分 $sec秒 です";
exit;

このプログラムを上書き保存し、ブラウザから http://127.0.0.1/cgi-bin/test.cgi へアクセスしてみます。すると、今の時間が表示されます。
ブラウザの「更新」ボタンを押す度に時間が更新されます。

>>簡単な解説
1行目 > #!/usr/local/bin/perl
このプログラムを実行するPerl本体のパスを記述します。
今回のようにWindows内で実行する場合はあまり意味をなしませんが、実際のインターネットWWWサーバで実行する場合は、レンタルサーバの指定に従い記述します。
「おまじない」として、Perlプログラムの一番最初に記述するモノと思えば良いでしょう。

2行目 > ($sec, $min, $hour) = localtime;
現在の時刻をlocaltimeと言う命令で、秒、分、時間に分割します。
通常の算数式と違い、プログラムの場合は、右辺から左辺へ値が代入される感じです。
$secとか$minのように、最初が$で始まるモノは変数と言い、値を入れ込むための器だと思えば良いでしょう。
この変数は自分勝手に作ることができますので、 ($s, $m, $h) = localtime; としても何ら構いません。

3行目 > print "Content-type: text/html\n\n";
printと命令すると、"〜"で囲まれた部分が出力されます。
この時、どこに出力すれば良いのか?
これもおまじないでhttp経由でブラウザに出力する場合、「これから出力するぞぉ〜、と言う一番最初に:Content-type: text/html\n\n」 をプリントします。

4行目 > print "今の時間は $hour時 $min分 $sec秒 です";
ブラウザに出力することを宣言したので、実際に出力したい内容をprintします。
文中の変数($hour、$min、$sec)は、2行目で代入した値に置き換えられ出力されます。
極端な話、$hour=99 とセットし、このプログラムを実行すると、毎回決まって、99時間うんぬんと表示されます。

5行目 > exit;
このプログラムはこれで終わりです、と言う意味です。

[PHP編]
メモ帳などテキストエディタから、test.phpを開きます。
以下のようにプログラムを書いてみましょう。

<?php
print date("今の時間は H時 i分 s秒 です!",time());
?>

このプログラムを上書き保存し、ブラウザから http://127.0.0.1/cgi-bin/test.php へアクセスしてみます。すると、今の時間が表示されます。
ブラウザの「更新」ボタンを押す度に時間が更新されます。

>>簡単な解説
1行目 > <?php
3行目 > ?>
<?php〜?>で囲まれた範囲がPHPプログラムとして一つの単位になります。
プログラムの書き出しは <?php、終了は ?> と考えれば良いでしょう。

2行目 > print date("今の時間は H時 i分 s秒 です",time());
print命令でdateと言う命令を実行した結果を出力しています。
分かりやすく分解すると、
$smh=date("今の時間は H時 i分 s秒 です",time());
print $smh;
と言うような感じになります。
dateと言う命令は、与えられた時間を特定のキーワードでフォーマット化します。
この例では、与えられた時間として、time命令で今の時間を、H、i、sのフォーマット用ワードで、それぞれ、時間、分、秒を、"今の時間は時分秒 です"の文字列内に埋め込んでいます。

このように、プログラム言語の種類によって書き方が変わってきますが、CGIとしての動作にさほど大きな違いはありません。
どっちが使いやすいか、あるいは、お使いのWWWサーバのサポート状況によって選択すれば良いと思います。

紹介した、Perl、PHPプログラムの実行結果
test.cgi
test.php


<<<< トップ <<< テーマトップ << サブテーマトップ < 前頁次頁 > MySQLのダウンロード >>

www.igros.net
[PR]特集 Amazon.co.jp レコメンドコンテンツ



Copyright(C) アクセス向上大失敗 All Rights Reservd.
version2.0