PHP獲取IP的多種方式解析

  • 大家也許對PHP獲取IP的具體方法還不是很清楚,沒關係,今天我們就在文章中總結了六種實現方式,下面讓麼一起來看看這六種方式的具體代碼吧。

PHP 獲取IP的方法有許多種,我們今天向大家總結了六種方法,希望通過對這六種方法的學習,能夠加深我們對PHP語言的進一步瞭解,鞏固我們所掌握的知識。

PHP獲取IP方法一:

  1. <? php  
  2. echo " < br > ";  
  3. ?>  
  4.  
  5. <? php  
  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 " < br > ";  
  20. ?>  

PHP獲取IP方法二:

  1. <? php  
  2. echo " < br > ";  
  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." < br > ";                              
  45. ?>    

PHP獲取IP方法三:

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

PHP獲取IP方法四:

  1. <? php  
  2. echo " < br > ";  
  3. ?>  
  4.  
  5. <? php  
  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." < br > ";  
  9. ?>  

PHP獲取IP方法五:

  1. <? php  
  2. echo " < br > ";  
  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 " < br > ";  
  33. ?>  

PHP獲取IP方法六:

  1. <? php  
  2. echo " < br > ";  
  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 " < br > ";  
  24. ?>  

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章