Home > Backend Development > PHP Tutorial > thinkphp how to get the client IP_php tips

thinkphp how to get the client IP_php tips

WBOY
Release: 2016-05-16 20:05:31
Original
968 people have browsed it

In the thinkphp framework, the system has a built-in get_client_ip method to obtain the client’s IP address. Usage example:
$ip = get_client_ip();
In addition to thinkphp's built-in get_client_ip function, you can also use the following function to obtain the client IP address.
$type indicates the return type 0 returns the IP address, 1 returns the IPV4 address number
Share the code as follows

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];
Copy after login

I hope this article will be helpful for everyone to learn more about PHP programming.

Related labels:
th
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template