来看看代码:
echo "(1)浏览当前页面的用户的 IP 地址为:";
echo $_SERVER['REMOTE_ADDR'];
echo "<br />";
echo "(2)浏览当前页面的用户的 IP 地址为:";
echo getenv('REMOTE_ADDR');
echo "<br />";
echo "主机 www.baidu.com 的 IP 地址为:";
echo gethostbyname(<A href="http://www.baidu.com">www.baidu.com</A>);
它的输出结果为:
(1)浏览当前页面的用户的 IP 地址为:127.0.0.1
(2)浏览当前页面的用户的 IP 地址为:127.0.0.1
主机 www.baidu.com 的 IP 地址为:61.135.169.105
关于获取客户端的 IP 地址,有俩方法:
第一个是使用:
?$_SERVER['REMOTE_ADDR']
它正在浏览当前页面用户的 IP 地址,这里的输出结果为 127.0.0.1,因为这是在本地测试,输出的是我本地的环路地址。
第俩个是使用:
?getenv('REMOTE_ADDR')
这里使用了函数 getenv : Gets the value of an environment variable(得到各种环境变量的值),返回值:Returns the value of the environment variable varname, or FALSE on an error(失败的话返回 FALSE).
关于获取服务器端的 IP 地址:
?gethostbyname(<A href="http://www.baidu.com">www.baidu.com</A>)
这里使用了函数 gethostbyname : Get the IP address corresponding to a given Internet host name(通过给定的一个主机名字而得到它的 IP 地址),返回值:Returns the IP address of the Internet host specified by hostname or a string containing the unmodified hostname on failure(失败的话返回原样的输入字符主机名).
注意这里的最后一句,也就是说,如果失败的话,它会将原样输出,例如:
?echo "无效主机 iwilldown 的 IP 地址为:";
echo gethostbyname("iwilldown");
输出:
?无效主机 iwilldown 的 IP 地址为:iwilldown
当然,这个可不是 IP 地址….