当前位置: 首页 >>> 编程开发PHP 正文

PHP获取IP地址的多种方式解析

时间:2010-06-03 13:23:15来源:网络 作者:未知 点击:0
PHP获取IP的方法有许多种,我们今天向大家总结了六种方法,希望通过对这六种方法的学习,能够加深我们对PHP语言的进一步了解,巩固我们所掌握的知识。
  PHP获取IP方法一:
PHP获取IP的方法有许多种,我们今天向大家总结了六种方法,希望通过对这六种方法的学习,能够加深我们对PHP语言的进一步了解,巩固我们所掌握的知识。

  PHP获取IP方法一:

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PHP获取IP方法二:

 

  1. <?php
  2. echo "<br>";
  3. ?>
  4. <?
  5. error_reporting (E_ERROR | E_WARNING | E_PARSE);
  6. if($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"])
  7. {
  8. $ip = $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"];
  9. }
  10. elseif($HTTP_SERVER_VARS["HTTP_CLIENT_IP"])
  11. {
  12. $ip = $HTTP_SERVER_VARS["HTTP_CLIENT_IP"];
  13. }
  14. elseif ($HTTP_SERVER_VARS["REMOTE_ADDR"])
  15. {
  16. $ip = $HTTP_SERVER_VARS["REMOTE_ADDR"];
  17. }
  18. elseif (getenv("HTTP_X_FORWARDED_FOR"))
  19. {
  20. $ip = getenv("HTTP_X_FORWARDED_FOR");
  21. }
  22. elseif (getenv("HTTP_CLIENT_IP"))
  23. {
  24. $ip = getenv("HTTP_CLIENT_IP");
  25. }
  26. elseif (getenv("REMOTE_ADDR"))
  27. {
  28. $ip = getenv("REMOTE_ADDR");
  29. }
  30. else
  31. {
  32. $ip = "Unknown";
  33. }
  34. echo "你的IP地址是:".$ip."<br>";
  35. ?>

PHP获取IP方法三:

 

 

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

PHP获取IP方法四:

 

 

 

  1. <?php
  2. echo "<br>";
  3. ?>
  4. <?php
  5. $user_IP = ($_SERVER["HTTP_VIA"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"];
  6. $user_IP = ($user_IP) ? $user_IP : $_SERVER["REMOTE_ADDR"];
  7. echo $user_IP."<br>";
  8. ?>

PHP获取IP方法五:

 

 

 

 

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

PHP获取IP方法六:

 

 

 

 

 

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

------分隔线----------------------------
请自觉遵守相关政策法规,严禁发布色情/暴力/反动言论。
特别推荐