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

原创
2016-07-13 10:48:02 734浏览

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

PHP获取服务器IP地址

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

代码如下 复制代码

function getServerIp(){ //用ifconfig读取服务器IP并输出为数组
$ss = exec('/sbin/ifconfig | sed -n 's/^ *.*addr:\([0-9.]\{7,\}\) .*$/\1/p'',$arr);
return $arr;
}
$ips=getServerIp();

foreach($ips as $k=>$v){//过滤IP
if(substr($v,0,3)=='127' || substr($v,0,3)=='10.' || substr($v,0,7)=='192.168' || substr($v,0,6)=='172.16'){
unset($ips[$k]);
}
}
shuffle($ips);//重新排序
print_r($ips);
?>

一些php获取ip地址例

代码如下 复制代码

function GetIP(){
if(!empty($_SERVER["HTTP_CLIENT_IP"])){
$cip = $_SERVER["HTTP_CLIENT_IP"];
}
elseif(!empty($_SERVER["HTTP_X_FORWARDED_FOR"])){
$cip = $_SERVER["HTTP_X_FORWARDED_FOR"];
}
elseif(!empty($_SERVER["REMOTE_ADDR"])){
$cip = $_SERVER["REMOTE_ADDR"];
}
else{
$cip = "无法获取!";
}
return $cip;
}
echo GetIP();
?>

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

代码如下 复制代码
function get_user_ip() {
if (isset($_SERVER['HTTP_CLIENT_IP']) && $_SERVER['HTTP_CLIENT_IP']!='unknown') {
$ip = $_SERVER['HTTP_CLIENT_IP'];
} elseif (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && $_SERVER['HTTP_X_FORWARDED_FOR']!='unknown') {
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
$ip = $_SERVER['REMOTE_ADDR'];
}
return $ip;
}

PHP获取IP所在地区(调用新浪API获取IP所在地)

代码如下 复制代码
function get_location($ip){
$curl = curl_init();
curl_setopt($curl,CURLOPT_URL, "http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=".$ip);
$location = curl_exec($curl);
$location = json_decode($location);
if($location===FALSE) return "";
return empty($location->desc) ? $location->province.$location->city.$location->district.$location->isp : $location->desc;
}

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/632798.htmlTechArticle在php中获取IP地址的方法有很多种,下面我介绍利用linux命令获取IP地址然后转换成数组输出,下面也介绍了一些常用关于php ip地址处理实例...
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。