php获取客户端IP地址的几种方法
方法一
<?php
$iipp=$_SERVER["REMOTE_ADDR"];
echo $iipp;
?>
方法二
<?php
function get_real_ip(){
$ip=false;
if(!empty($_SERVER["HTTP_CLIENT_IP"])){
$ip = $_SERVER["HTTP_CLIENT_IP"];
}
if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);
if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }
for ($i = 0; $i < count($ips); $i++) {
if (!eregi ("^(10|172\.16|192\.168)\.", $ips[$i])) {
$ip = $ips[$i];
break;
}
}
}
return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);
}
echo get_real_ip();
?>
方法三
<?php
function getIP()
{
if (@$_SERVER["HTTP_X_FORWARDED_FOR"])
$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
else if (@$_SERVER["HTTP_CLIENT_IP"])
$ip = $_SERVER["HTTP_CLIENT_IP"];
else if (@$_SERVER["REMOTE_ADDR"])
$ip = $_SERVER["REMOTE_ADDR"];
else if (@getenv("HTTP_X_FORWARDED_FOR"))
$ip = getenv("HTTP_X_FORWARDED_FOR");
else if (@getenv("HTTP_CLIENT_IP"))
$ip = getenv("HTTP_CLIENT_IP");
else if (@getenv("REMOTE_ADDR"))
$ip = getenv("REMOTE_ADDR");
else
$ip = "Unknown";
return $ip;
}
echo getip();
?>
1:来看看代码:
echo "(1)浏览当前页面的用户的 IP 地址为:";
echo $_SERVER['REMOTE_ADDR'];
echo "";
echo "(2)浏览当前页面的用户的 IP 地址为:";
echo getenv('REMOTE_ADDR');
echo "";
echo "主机 www.baidu.com 的 IP 地址为:";
echo gethostbyname(www.baidu.com);
2:它的输出结果为:
(1)浏览当前页面的用户的 IP 地址为:127.0.0.1
(2)浏览当前页面的用户的 IP 地址为:127.0.0.1
主机 www.baidu.com 的 IP 地址为:61.135.169.105
3:关于获取客户端的 IP 地址,有俩方法:
第一个是使用:
$_SERVER['REMOTE_ADDR']
它正在浏览当前页面用户的 IP 地址,这里的输出结果为 127.0.0.1,因为这是在本地测试,输
出的是本地的IP地址。
第二个是使用:
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).
4:关于获取服务器端的 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(失败的话返回原样的输入字符主机名).
5:注意:如果失败的话,它会将原样输出,
例如:
echo "无效主机 iwilldown 的 IP 地址为:";
echo gethostbyname("iwilldown");
输出无效主机 iwilldown 的 IP 地址为:iwilldown 当然,这个可不是 IP 地址。
php获取客户端IP地址的几种方法(转)
最新推荐文章于 2024-06-27 18:43:53 发布