thinkphp如何获取客户端IP
thinkphp框架中系统内置了get_client_ip方法用于获取客户端的IP地址,使用示例:
$ip=get_client_ip();
除了thinkphp内置get_client_ip函数外,也可使用下面函数获取客户端IP地址。
$type表示返回类型0返回IP地址,1返回IPV4地址数字
分享代码如下
functionget_client_ip($type=0){
$type=$type?1:0;
static$ip=NULL;
if($ip!==NULL)return$ip[$type];
if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])){
$arr=explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']);
$pos=array_search('unknown',$arr);
if(false!==$pos)unset($arr[$pos]);
$ip=trim($arr[0]);
}elseif(isset($_SERVER['HTTP_CLIENT_IP'])){
$ip=$_SERVER['HTTP_CLIENT_IP'];
}elseif(isset($_SERVER['REMOTE_ADDR'])){
$ip=$_SERVER['REMOTE_ADDR'];
}
//IP地址合法验证
$long=ip2long($ip);
$ip=$long?array($ip,$long):array('0.0.0.0',0);
return$ip[$type];
希望本文对大家深入学习php程序设计有所帮助。