php获取本地实际IP_PHP_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > PHP > php获取本地实际IP

php获取本地实际IP

 2011/10/21 8:18:05  荒村听雨31  http://262002954-qq-com.iteye.com  我要评论(0)
  • 摘要:functionreal_ip(){static$realip=NULL;if($realip!==NULL){return$realip;}if(isset($_SERVER)){if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])){$arr=explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']);foreach($arrAS$ip){$ip=trim($ip);if($ip!='unknown'){$realip=$ip
  • 标签:PHP

? function real_ip()
{
??? static $realip = NULL;

??? if ($realip !== NULL)
??? {
??????? return $realip;
??? }

??? if (isset($_SERVER))
??? {
??????? if (isset($_SERVER['HTTP_X_FORWARDED_FOR']))
??????? {
??????????? $arr = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);

??????????? foreach ($arr AS $ip)
??????????? {
??????????????? $ip = trim($ip);

??????????????? if ($ip != 'unknown')
??????????????? {
??????????????????? $realip = $ip;

??????????????????? break;
??????????????? }
??????????? }
??????? }
??????? elseif (isset($_SERVER['HTTP_CLIENT_IP']))
??????? {
??????????? $realip = $_SERVER['HTTP_CLIENT_IP'];
??????? }
??????? else
??????? {
??????????? if (isset($_SERVER['REMOTE_ADDR']))
??????????? {
??????????????? $realip = $_SERVER['REMOTE_ADDR'];
??????????? }
??????????? else
??????????? {
??????????????? $realip = '0.0.0.0';
??????????? }
??????? }
??? }
??? else
??? {
??????? if (getenv('HTTP_X_FORWARDED_FOR'))
??????? {
??????????? $realip = getenv('HTTP_X_FORWARDED_FOR');
??????? }
??????? elseif (getenv('HTTP_CLIENT_IP'))
??????? {
??????????? $realip = getenv('HTTP_CLIENT_IP');
??????? }
??????? else
??????? {
??????????? $realip = getenv('REMOTE_ADDR');
??????? }
??? }

??? preg_match("/[\d\.]{7,15}/", $realip, $onlineip);
??? $realip = !empty($onlineip[0]) ? $onlineip[0] : '0.0.0.0';

??? return $realip;
}

发表评论
用户名: 匿名