宣伝掲示板集 
リンク
トップ

時間とホスト取得です

トップ > 時間とホスト取得
Perl

まずは日付と時間取得です。http://www.w3.org/の日時フォーマットではYYYY-MM-DDで西暦も示されているらしいですが、
以下では日付と時間のみ出力する場合です。2行で済みます。


($sec,$min,$hour,$mday,$mon,$year,$wno) = localtime(time);
$time = sprintf("(%01d/%01d %02d:%02d:%02d)",$mon+1,$mday,$hour,$min,$sec);

$timeに(4/15 13:23:48)という形で代入されます。西暦を入れる場合は2行目に%04d$year+1900を挿入してやればOKです。


次はIPアドレス取得です

$ip_address = $ENV{'REMOTE_ADDR'};

もし、使っているレンタルサーバーでホストネームが取得可能なサーバーならば以下の書式が可能になります。


$host_name = &GetHostName($ENV{'REMOTE_ADDR'});
sub GetHostName {
	my($ip_address) = @_;
	my(@addr) = split(/\./, $ip_address);
	my($packed_addr) = pack("C4", $addr[0], $addr[1], $addr[2], $addr[3]);
	my($name, $aliases, $addrtype, $length, @addrs);
	($name, $aliases, $addrtype, $length, @addrs) = gethostbyaddr($packed_addr, 2);
	return $name;
}
参考文献:
beginners CGI - 現在時刻の取得と整形
環境変数 REMOTE_HOST / REMOTE_ADDR - futomi's CGI Cafe

Written By CGIです
Powered by cgi-word-bbs.nobaby.nobody.jp