![]() |
|||
| | HOME | ご利用について | 推奨環境 | リンクに関して | 免責/規約 | お問合せ | ミスティーネット | リンク集 | | |||
|
HOME >> 環境変数について
■ 環境変数とは?
環境変数を利用することでサーバーの情報や、ホームページ閲覧者のアクセス情報、ブラウザ情報などを取得することが出来ます。
環境変数は、$ENV{・・・} のハッシュデータとなって格納されています。 (環境変数のキーや値はサーバーの設定によって異なります。) アクセスログなどを取る場合にはこの値を参照してログをとることが出来ます。 主な環境変数については下記でご紹介しているので御参照ください。 ↓主な環境変数一覧 現在ご利用サーバーで、どのような環境変数が参照できるのかを確認することが出来ます。
print "Content-Type: text/html\n\n";
* ここではサーバーから取得できた環境変数の一覧を表示しています。
print <<END_HTML; <html> <head><title>環境変数テスト表示</title></head> <body> $ { foreach $key (keys %ENV) { print "$key : $ENV{$key}<br>\n"; } } </body> </html> ■ 環境変数の使用例
環境変数を使用した簡単なプログラムをご紹介いたします。 アクセス時刻と、アクセスしてきたホスト名を記録するシンプルなアクセスログです。 (access_log.txt ファイルに記録されます。)
# ホスト名を取得
$host = $ENV{'REMOTE_HOST'}; $addr = $ENV{'REMOTE_ADDR'}; # ホスト名が取得できない場合、IPからホスト名を取得する if ($host eq "" || $host eq $addr) { $host = gethostbyaddr(pack("C4",split(/\./,$addr)),2) || $addr; } # 時間の取得 $ENV{'TZ'} = "JST-9"; $times = time; ($sec,$min,$hour,$mday,$mon,$year,$wday,$dmy,$dmy) = localtime($times); # 日時のフォーマット $time = sprintf("%04d\/%02d\/%02d %02d\:%02d\", $year+1900,$mon+1,$mday,$hour,$min); # ログファイルに記録する open(DATA, "access_log.txt"); flock(DATA, 2); print DATA "$time\t$host"; close(DATA); アクセス端末が i-mode 端末の場合は、i-mode 用のページへアクセスするようにする。 それ以外は通常のWEBページへアクセスさせる。
# ブラウザ(アクセス端末)情報を取得
* i-mode からのアクセスの場合、ブラウザ情報は 「DoCoMo/1.0/P504i/c10/TB」 のような形で取得されます。
ブラウザ情報に 「DOCOMO」 の文字を含んでいるかどうかで i-mode からのアクセスかどうかを判断して、ページの振り分けを行なっています。
$browser = $ENV{'HTTP_USER_AGENT'}; # ページの振り分け if ( index($browser, 'DOCOMO') >= 0 ) { print "Location: http://sample.com/i/\n\n"; } else { print "Location: http://sample.com/\n\n"; } exit; ■ 主な環境変数一覧
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||