- 大家也许对PHP获取IP的具体方法还不是很清楚,没关系,今天我们就在文章中总结了六种实现方式,下面让么一起来看看这六种方式的具体代码吧。
PHP 获取IP的方法有许多种,我们今天向大家总结了六种方法,希望通过对这六种方法的学习,能够加深我们对PHP语言的进一步了解,巩固我们所掌握的知识。
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
- 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获取IP方法三:
- <? php
- echo " < br > ";
- ?>
- <?
- $ iipp = $_SERVER["REMOTE_ADDR"];
- echo $iipp;
- echo " < br > ";
- ?>
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获取IP方法六:
- <? 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