Home > Article > Backend Development > PHP implements method to obtain client IP and obtain IP information
This article mainly introduces the example of how to obtain the client IP and obtain the IP information in PHP. It is very practical. Friends in need can come and refer to it.
The code is very concise and the function is very practical. I won’t go into too much nonsense here. I will just give it to you:
The code is as follows:
<?php /** * 获取客户端IP * @param integer $type 返回类型 0:string,1:long * @return string|long */ function getClientIp($type = 0) { $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']; } $long = sprintf("%u", ip2long($ip)); $ip = $long ? array($ip, $long) : array('0.0.0.0', 0); return $ip[$type]; } /** * 获取IP信息 * @param string|long $ip IP地址 * @return array */ function getIpInfo($ip) { if (is_long($ip)) { $ip = long2ip($ip); } $api = 'http://ip.taobao.com/service/getIpInfo.php'; $ret = file_get_contents($api . '?ip=' . $ip); $ret = json_decode($ret, true); if ($ret['code'] == 0) { return $ret['data']; } return array(); }
Summary: Above That’s the entire content of this article, I hope it will be helpful to everyone’s study.
Related recommendations:
How to generate a reference implementation tree in PHP
##PHP uses phpmailer to send emails
Definition and use of magic methods in PHP
The above is the detailed content of PHP implements method to obtain client IP and obtain IP information. For more information, please follow other related articles on the PHP Chinese website!