封装的获取IP的函数

Posted lonmy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了封装的获取IP的函数相关的知识,希望对你有一定的参考价值。

 1     /**
 2      * 获取IP
 3      * strcasecmp 比较函数
 4      */
 5     if (!function_exists(‘get_ip‘)) {
 6 
 7     function get_ip($outType = ‘int‘) {
 8         if (getenv(‘HTTP_CLIENT_IP‘) && strcasecmp(getenv(‘HTTP_CLIENT_IP‘), ‘unknown‘)) {
 9             $onlineip = getenv(‘HTTP_CLIENT_IP‘);
10         } elseif (getenv(‘HTTP_X_FORWARDED_FOR‘) && strcasecmp(getenv(‘HTTP_X_FORWARDED_FOR‘), ‘unknown‘)) {
11             $onlineip = getenv(‘HTTP_X_FORWARDED_FOR‘);
12         } elseif (getenv(‘REMOTE_ADDR‘) && strcasecmp(getenv(‘REMOTE_ADDR‘), ‘unknown‘)) {
13             $onlineip = getenv(‘REMOTE_ADDR‘);
14         } elseif (isset($_SERVER[‘REMOTE_ADDR‘]) && $_SERVER[‘REMOTE_ADDR‘] && strcasecmp($_SERVER[‘REMOTE_ADDR‘], ‘unknown‘)) {
15             $onlineip = $_SERVER[‘REMOTE_ADDR‘];
16         }
17 
18         preg_match("/[\d\.]{7,15}/", $onlineip, $onlineipmatches);
19         $onlineip = $onlineipmatches[0] ? $onlineipmatches[0] : false;
20         unset($onlineipmatches);
21 
22         if ($outType == ‘int‘) {
23             $onlineip = ip2long($onlineip);
24             if ($onlineip) {
25                 $onlineip = (int)$onlineip;
26             }
27         }
28 
29         return $onlineip;
30     }
31 
32 }

 

以上是关于封装的获取IP的函数的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段14——Vue的axios网络请求封装

VSCode自定义代码片段14——Vue的axios网络请求封装

VSCode自定义代码片段14——Vue的axios网络请求封装

回归 | js实用代码片段的封装与总结(持续更新中...)

DELPHI 如何获取外网ip

web代码片段