/**
* 获取客户端IP地址
*
@param
integer $type 返回类型 0 返回IP地址 1 返回IPV4地址数字
*
@return
mixed
*/
function
get_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 = sprintf("%u",ip2long($ip));
$ip = $long ?
array($ip, $long) :
array('0.0.0.0',
0);
return
$ip[$type];
}

1282

被折叠的 条评论
为什么被折叠?



