私はウェブサイトで作業していますが、私がやりたいことの1つは、ユーザーにMY IPアドレスを表示することです。 WebサイトはCodeIgniterで作成されているため、PHPでサーバーIPを探していました。 IPアドレスは変更される可能性があります(ローマー)ので、ハードコードだけでなく、動的に見つけたいと思います。私はこれを試しました:
$data['hostname'] = NULL;
$data['ip'] = NULL;
$var = gethostname();
if ($var === FALSE) {
$var = NULL;
} else {
$data['hostname'] = $var;
$data['ip'] = gethostbyname($var);
}
ただし、ホスト名とIPを提供する代わりに、「Moria」と「127.0.1.1」を取得しました。私が探しているものではありません。むしろ、ホスト名とIPアドレスに対して「Moria.student.rit.edu」と言う必要があります。何か助け?
_$_SERVER['SERVER_ADDR']
_を試してください。サーバーがリッスンしているIPアドレスになります。 DNS関数(たとえば、gethostbyaddr()
)を使用してホスト名を取得できます。
http://www.php.net/manual/en/reserved.variables.server.php を参照してください。