PHP獲取IP的多種方式解析
作者:冥想空間 
  大街也許對PHP獲取IP的具體方法還不是很清楚,沒關(guān)系,今天我們就在文章中總結(jié)了六種實現(xiàn)方式,下面讓么一起來看看這六種方式的具體代碼吧。
 PHP獲取IP的方法有許多種,我們今天向大家總結(jié)了六種方法,希望通過對這六種方法的學(xué)習(xí),能夠加深我們對PHP語言的進一步了解,鞏固我們所掌握的知識。
#t#PHP獲取IP方法一:
- <?php
 - echo "<br>";
 - ?>
 - <?php
 - function GetIP()
 - {
 - if(!empty($_SERVER["HTTP_CLIENT_IP"]))
 - $cip = $_SERVER["HTTP_CLIENT_IP"];
 - else if(!empty($_SERVER["HTTP_X_FORWARDED_FOR"]))
 - $cip = $_SERVER["HTTP_X_FORWARDED_FOR"];
 - else if(!empty($_SERVER["REMOTE_ADDR"]))
 - $cip = $_SERVER["REMOTE_ADDR"];
 - else
 - $cip = "無法獲??!";
 - return $cip;
 - }
 - echo "<br>";
 - ?>
 
PHP獲取IP方法二:
PHP獲取IP方法三:
- <?php
 - echo "<br>";
 - ?>
 - <?
 - error_reporting (E_ERROR | E_WARNING | E_PARSE);
 - if($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"])
 - {
 - $ip = $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"];
 - }
 - elseif($HTTP_SERVER_VARS["HTTP_CLIENT_IP"])
 - {
 - $ip = $HTTP_SERVER_VARS["HTTP_CLIENT_IP"];
 - }
 - elseif ($HTTP_SERVER_VARS["REMOTE_ADDR"])
 - {
 - $ip = $HTTP_SERVER_VARS["REMOTE_ADDR"];
 - }
 - elseif (getenv("HTTP_X_FORWARDED_FOR"))
 - {
 - $ip = getenv("HTTP_X_FORWARDED_FOR");
 - }
 - elseif (getenv("HTTP_CLIENT_IP"))
 - {
 - $ip = getenv("HTTP_CLIENT_IP");
 - }
 - elseif (getenv("REMOTE_ADDR"))
 - {
 - $ip = getenv("REMOTE_ADDR");
 - }
 - else
 - {
 - $ip = "Unknown";
 - }
 - echo "你的IP地址是:".$ip."<br>";
 - ?>
 
- <?php
 - echo "<br>";
 - ?>
 - <?
 - $iipp = $_SERVER["REMOTE_ADDR"];
 - echo $iipp;
 - echo "<br>";
 - ?>
 
PHP獲取IP方法四:
PHP獲取IP方法五:
- <?php
 - echo "<br>";
 - ?>
 - <?php
 - $user_IP = ($_SERVER["HTTP_VIA"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"];
 - $user_IP = ($user_IP) ? $user_IP : $_SERVER["REMOTE_ADDR"];
 - echo $user_IP."<br>";
 - ?>
 
PHP獲取IP方法六:
- <?php
 - echo "<br>";
 - ?>
 - <?
 - function get_real_ip()
 - {
 - $ip=false;
 - if(!empty($_SERVER["HTTP_CLIENT_IP"]))
 - {
 - $ip = $_SERVER["HTTP_CLIENT_IP"];
 - }
 - if (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
 - {
 - $ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);
 - if ($ip)
 - {
 - array_unshift($ips, $ip); $ip = FALSE;
 - }
 - for ($i = 0; $i < count($ips); $i++)
 - {
 - if (!eregi ("^(10|172\.16|192\.168)\.", $ips[$i]))
 - {
 - $ip = $ips[$i];
 - break;
 - }
 - }
 - }
 - return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);
 - }
 - echo get_real_ip();
 - echo "<br>";
 - ?>
 
- <?php
 - echo "<br>";
 - ?>
 - <?
 - if(getenv('HTTP_CLIENT_IP'))
 - {
 - $onlineip = getenv('HTTP_CLIENT_IP');
 - }
 - elseif(getenv('HTTP_X_FORWARDED_FOR'))
 - {
 - $onlineip = getenv('HTTP_X_FORWARDED_FOR');
 - }
 - elseif(getenv('REMOTE_ADDR'))
 - {
 - $onlineip = getenv('REMOTE_ADDR');
 - }
 - else
 - {
 - $onlineip = $HTTP_SERVER_VARS['REMOTE_ADDR'];
 - }
 - echo $onlineip;
 - echo "<br>";
 - ?>
 
文章來源:http://hi.baidu.com/89243742/blog/item/b8c5d3b4960788798ad4b2d1.html
責(zé)任編輯:曹凱 
                    來源:
                    百度博客
 














 
 
 






 
 
 
 