获取本机公网ip

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php




        /** 
             * 获取真实IP地址 
             */ 
            function get_real_ip(){ 
                if ( getenv( "HTTP_CLIENT_IP" ) && strcasecmp( getenv( "HTTP_CLIENT_IP" ), "unknown" ) ){ 
                    $ip = getenv( "HTTP_CLIENT_IP" ); 
                }else if ( getenv( "HTTP_X_FORWARDED_FOR" ) && strcasecmp( getenv( "HTTP_X_FORWARDED_FOR" ), "unknown" ) ){ 
                    $ip = getenv( "HTTP_X_FORWARDED_FOR" ); 
                }else if (getenv( "REMOTE_ADDR" ) && strcasecmp( getenv( "REMOTE_ADDR" ), "unknown" ) ){ 
                    $ip = getenv( "REMOTE_ADDR" ); 
                }else if ( isset( $_SERVER[ 'REMOTE_ADDR' ] ) && $_SERVER[ 'REMOTE_ADDR' ] 
                    && strcasecmp( $_SERVER[ 'REMOTE_ADDR' ], "unknown" ) ){ 
                    $ip = $_SERVER[ 'REMOTE_ADDR' ]; 
                }else{ 
                    $ip = "unknown"; 
                } 
                if ( strpos( $ip, ',' ) ){ 
                    $ipArr = explode( ',', $ip ); 
                    $ip = $ipArr[ 0 ]; 
                } 
                return $ip; 
        } 



?>