PHP获取IP的多种方式解析
创始人
2024-06-12 11:01:16
0

PHP获取IP的方法有许多种,我们今天向大家总结了六种方法,希望通过对这六种方法的学习,能够加深我们对PHP语言的进一步了解,巩固我们所掌握的知识。

#t#PHP获取IP方法一:

  1.  
  2. echo "
    ";  
  3. ?> 
  4.  
  5.  
  6.     
  7. function GetIP()  
  8. {  
  9. if(!empty($_SERVER["HTTP_CLIENT_IP"]))  
  10.    $cip = $_SERVER["HTTP_CLIENT_IP"];  
  11. else if(!empty($_SERVER["HTTP_X_FORWARDED_FOR"]))  
  12.    $cip = $_SERVER["HTTP_X_FORWARDED_FOR"];  
  13. else if(!empty($_SERVER["REMOTE_ADDR"]))  
  14.    $cip = $_SERVER["REMOTE_ADDR"];  
  15. else  
  16.    $cip = "无法获取!";  
  17. return $cip;  
  18. }  
  19. echo "
    ";  
  20. ?> 

PHP获取IP方法二:

  1.  
  2. echo "
    ";  
  3. ?> 
  4.  
  5.  
  6. error_reporting (E_ERROR | E_WARNING | E_PARSE);  
  7. if($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"])   
  8. {                                                
  9.        $ip = $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"];  
  10.         
  11. }                                                
  12. elseif($HTTP_SERVER_VARS["HTTP_CLIENT_IP"])      
  13. {                                                
  14.        $ip = $HTTP_SERVER_VARS["HTTP_CLIENT_IP"];  
  15.            
  16. }                                                
  17. elseif ($HTTP_SERVER_VARS["REMOTE_ADDR"])         
  18. {                                                
  19.        $ip = $HTTP_SERVER_VARS["REMOTE_ADDR"];    
  20.               
  21. }                                                
  22. elseif (getenv("HTTP_X_FORWARDED_FOR"))            
  23. {                                                
  24.        $ip = getenv("HTTP_X_FORWARDED_FOR");    
  25.                  
  26. }                                                
  27. elseif (getenv("HTTP_CLIENT_IP"))                  
  28. {                                                
  29.        $ip = getenv("HTTP_CLIENT_IP");    
  30.                        
  31. }            
  32.                                    
  33. elseif (getenv("REMOTE_ADDR"))                     
  34. {                                                
  35.        $ip = getenv("REMOTE_ADDR");   
  36.                           
  37. }         
  38.                                       
  39. else                                             
  40. {                                                
  41.        $ip = "Unknown";      
  42.                                    
  43. }                                                
  44. echo "你的IP地址是:".$ip."
    ";                              
  45. ?>   
PHP获取IP方法三:

  1.  
  2. echo "
    ";  
  3. ?> 
  4.  
  5.  
  6. $iipp = $_SERVER["REMOTE_ADDR"];  
  7. echo $iipp;  
  8. echo "
    ";  
  9. ?> 

PHP获取IP方法四:

  1.  
  2. echo "
    ";  
  3. ?> 
  4.  
  5.  
  6. $user_IP = ($_SERVER["HTTP_VIA"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"];  
  7. $user_IP = ($user_IP) ? $user_IP : $_SERVER["REMOTE_ADDR"];  
  8. echo $user_IP."
    ";  
  9. ?> 
PHP获取IP方法五:

  1.  
  2. echo "
    ";  
  3. ?> 
  4.  
  5.  
  6. function get_real_ip()  
  7. {  
  8.        $ip=false;  
  9.        if(!empty($_SERVER["HTTP_CLIENT_IP"]))  
  10.        {  
  11.             $ip = $_SERVER["HTTP_CLIENT_IP"];  
  12.        }  
  13.        if (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))  
  14.        {  
  15.             $ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);  
  16.             if ($ip)  
  17.             {  
  18.                      array_unshift($ips, $ip); $ip = FALSE;  
  19.             }  
  20.             for ($i = 0; $i < count($ips); $i++)  
  21.             {  
  22.                      if (!eregi ("^(10|172\.16|192\.168)\.", $ips[$i]))  
  23.                      {  
  24.                                $ip = $ips[$i];  
  25.                                break;  
  26.                      }  
  27.             }  
  28.        }  
  29.        return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);  
  30. }  
  31. echo get_real_ip();  
  32. echo "
    ";  
  33. ?> 
PHP获取IP方法六:

  1.  
  2. echo "
    ";  
  3. ?> 
  4.  
  5.  
  6. if(getenv('HTTP_CLIENT_IP'))  
  7. {  
  8.        $onlineip = getenv('HTTP_CLIENT_IP');  
  9. }  
  10. elseif(getenv('HTTP_X_FORWARDED_FOR'))  
  11. {  
  12.        $onlineip = getenv('HTTP_X_FORWARDED_FOR');  
  13. }  
  14. elseif(getenv('REMOTE_ADDR'))  
  15. {  
  16.        $onlineip = getenv('REMOTE_ADDR');  
  17. }  
  18. else  
  19. {  
  20.        $onlineip = $HTTP_SERVER_VARS['REMOTE_ADDR'];  
  21. }  
  22. echo $onlineip;  
  23. echo "
    ";  
  24. ?> 

文章来源:http://hi.baidu.com/89243742/blog/item/b8c5d3b4960788798ad4b2d1.html

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...