PHP 如何显示客户端 IP 与服务器 IP

如何用 PHP 来获取客户端 IP 和 服务器(主机)的 IP 呢?

来看看代码:

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(www.baidu.com);

它的输出结果为:

(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(www.baidu.com)

这里使用了函数 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 地址….~~~~

posted @ 2010-10-03 12:22  无墨来点睛  Views(7710)  Comments(0Edit  收藏  举报