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程序设计有所帮助。