thinkphp如何获取客户端IP |
thinkphp框架中系统内置了get_client_ip方法用于获取客户端的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]; 希望本文对大家深入学习php程序设计有所帮助 。 |