php函数查询电脑ip地址‘,php函数获取在线ip与客户端ip

/**

* 获取客户端ip

* @return [string] [description]

*/

function getclientip() {

$ip = null;

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地址合法验证

$ip = (false !== ip2long($ip)) ? $ip : '0.0.0.0';

return $ip;

}

/**

* 获取在线ip

* @return string

*/

function getonlineip($format=0) {

global $s_global;

if(empty($s_global['onlineip'])) {

if(getenv('http_client_ip') && strcasecmp(getenv('http_client_ip'), 'unknown')) {

$onlineip = getenv('http_client_ip');

} elseif(getenv('http_x_forwarded_for') && strcasecmp(getenv('http_x_forwarded_for'), 'unknown')) {

$onlineip = getenv('http_x_forwarded_for');

} elseif(getenv('remote_addr') && strcasecmp(getenv('remote_addr'), 'unknown')) {

$onlineip = getenv('remote_addr');

} elseif(isset($_server['remote_addr']) && $_server['remote_addr'] && strcasecmp($_server['remote_addr'], 'unknown')) {

$onlineip = $_server['remote_addr'];

}

preg_match("/[\d\.]{7,15}/", $onlineip, $onlineipmatches);

$s_global['onlineip'] = $onlineipmatches[0] ? $onlineipmatches[0] : 'unknown';

}

if($format) {

$ips = explode('.', $s_global['onlineip']);

for($i=0;$i<3;$i++) {

$ips[$i] = intval($ips[$i]);

}

return sprintf('%03d%03d%03d', $ips[0], $ips[1], $ips[2]);

} else {

return $s_global['onlineip'];

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值