In the thinkphp framework, the system has a built-in GET_CLIENT_IP method for obtaining the IP address of the client, using the example:
$ip = Get_client_ip ();
In addition to thinkphp built-in GET_CLIENT_IP functions, you can use the following function to obtain the client IP address.
$type indicates return type 0 return IP address, 1 return 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 Address legal authentication
$long = Ip2long ($IP);
$ip = $long? Array ($ip, $long): Array (' 0.0.0.0 ', 0);
return $ip [$type];
I hope this article is helpful for you to learn PHP program design in depth.