当前位置:首页 > PHP教程 > php应用 > 列表

PHP获取IP地址输出为数组程序代码

发布:smiling 来源: PHP粉丝网  添加日期:2014-07-10 15:06:19 浏览: 评论:0 

在php中获取IP地址的方法有很多种,下面我介绍利用linux命令获取IP地址然后转换成数组输出,下面也介绍了一些常用关于php ip地址处理实例.

PHP获取服务器IP地址,用PHP执行ifconfig获得Linux服务器IP并输出为数组,下面是代码:

  1. <?php 
  2. function getServerIp(){ //用ifconfig读取服务器IP并输出为数组 
  3.   $ss = exec('/sbin/ifconfig | sed -n 's/^ *.*addr:\([0-9.]\{7,\}\) .*$/\1/p'',$arr); 
  4.   return $arr;  
  5.   } 
  6. $ips=getServerIp(); 
  7.  
  8. foreach($ips as $k=>$v){//过滤IP 
  9.  if(substr($v,0,3)=='127' || substr($v,0,3)=='10.' || substr($v,0,7)=='192.168' || substr($v,0,6)=='172.16'){ 
  10.   unset($ips[$k]); 
  11.  } 
  12. shuffle($ips);//重新排序 
  13. print_r($ips); 
  14. ?> 

一些php获取ip地址例,代码如下:

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

我这里有一个比较公用的方法来获取用户ip地址,代码如下:

  1. function get_user_ip() {  
  2.         if (isset($_SERVER['HTTP_CLIENT_IP']) && $_SERVER['HTTP_CLIENT_IP']!='unknown') {  
  3.             $ip = $_SERVER['HTTP_CLIENT_IP'];  
  4.         } elseif (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && $_SERVER['HTTP_X_FORWARDED_FOR']!='unknown') {  
  5.             $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];  
  6.         } else {  
  7.             $ip = $_SERVER['REMOTE_ADDR'];  
  8.         }  
  9.         return $ip;  
  10.     }  

PHP获取IP所在地区(调用新浪API获取IP所在地),代码如下:

  1. function get_location($ip){ 
  2.  $curl = curl_init(); 
  3.         curl_setopt($curl,CURLOPT_URL, "http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=".$ip); 
  4.  $location = curl_exec($curl); 
  5.         $location = json_decode($location); 
  6.         if($location===FALSE) return ""
  7.         return emptyempty($location->desc) ? $location->province.$location->city.$location->district.$location->isp : $location->desc; 

Tags: PHP获取IP地址 数组程序

分享到: