php获取本地ip的多种方法

本文介绍如何使用PHP函数获取客户端的IP地址,包括直接获取、通过HTTP头获取及处理代理服务器的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<?php

 

//获取当前登陆用户IP

function get_client_ip()

{

if ($_SERVER['REMOTE_ADDR']) {

$cip = $_SERVER['REMOTE_ADDR'];

} elseif (getenv("REMOTE_ADDR")) {

$cip = getenv("REMOTE_ADDR");

} elseif (getenv("HTTP_CLIENT_IP")) {

$cip = getenv("HTTP_CLIENT_IP");

} else {

$cip = "unknown";

}

return$cip;

}

echo"你的IP地址是:".get_client_ip();

 

?>

 

<?php

 

error_reporting (E_ERROR | E_WARNING | E_PARSE);

if($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"])

{

        $ip = $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"];

 

}

elseif($HTTP_SERVER_VARS["HTTP_CLIENT_IP"])

{

        $ip = $HTTP_SERVER_VARS["HTTP_CLIENT_IP"];

 

}

elseif ($HTTP_SERVER_VARS["REMOTE_ADDR"])

{

        $ip = $HTTP_SERVER_VARS["REMOTE_ADDR"];

 

}

elseif (getenv("HTTP_X_FORWARDED_FOR"))

{

        $ip = getenv("HTTP_X_FORWARDED_FOR");

 

}

elseif (getenv("HTTP_CLIENT_IP"))

{

        $ip = getenv("HTTP_CLIENT_IP");

 

}

 

elseif (getenv("REMOTE_ADDR"))

{

        $ip = getenv("REMOTE_ADDR");

 

}

 

else

{

        $ip = "Unknown";

 

}

echo"你的IP地址是:".$ip."

";

?>

 

 

<?phpecho";";

 

 

$iipp = $_SERVER["REMOTE_ADDR"];

echo$iipp;

echo"

";

?>

 

<?php

$user_IP = ($_SERVER["HTTP_VIA"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"];

$user_IP = ($user_IP) ? $user_IP : $_SERVER["REMOTE_ADDR"];

echo$user_IP."

";

?>

 

 

<?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();

echo"

";

?>

 

 

<?php

if(getenv('HTTP_CLIENT_IP'))

{

        $onlineip = getenv('HTTP_CLIENT_IP');

}

elseif(getenv('HTTP_X_FORWARDED_FOR'))

{

        $onlineip = getenv('HTTP_X_FORWARDED_FOR');

}

elseif(getenv('REMOTE_ADDR'))

{

        $onlineip = getenv('REMOTE_ADDR');

}

else

{

        $onlineip = $HTTP_SERVER_VARS['REMOTE_ADDR'];

}

echo$onlineip;

echo"

";

?>

 

 

<?php

echo$a=GetIP();

function GetIP()

{

if(!empty($_SERVER["HTTP_CLIENT_IP"]))

  $cip = $_SERVER["HTTP_CLIENT_IP"];

elseif(!empty($_SERVER["HTTP_X_FORWARDED_FOR"]))

  $cip = $_SERVER["HTTP_X_FORWARDED_FOR"];

elseif(!empty($_SERVER["REMOTE_ADDR"]))

  $cip = $_SERVER["REMOTE_ADDR"];

else

  $cip = "无法获取!";

return$cip;

}

?>

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值