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