PHP獲取IP的多種方式解析
作者:冥想空間
大街也許對PHP獲取IP的具體方法還不是很清楚,沒關系,今天我們就在文章中總結了六種實現方式,下面讓么一起來看看這六種方式的具體代碼吧。
PHP獲取IP的方法有許多種,我們今天向大家總結了六種方法,希望通過對這六種方法的學習,能夠加深我們對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
責任編輯:曹凱
來源:
百度博客