function ip() {
if(getenv('HTTP_CLIENT_IP') strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) {
$ip = getenv('HTTP_CLIENT_IP');
} elseif(getenv('HTTP_X_FORWARDED_FOR') strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) {
$ip = getenv('HTTP_X_FORWARDED_FOR');
} elseif(getenv('REMOTE_ADDR') strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) {
$ip = getenv('REMOTE_ADDR');
} elseif(isset($_SERVER['REMOTE_ADDR']) $_SERVER['REMOTE_ADDR'] strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) {
$ip = $_SERVER['REMOTE_ADDR'];
}
以上函数取自phpcms的获取ip方法
不论是手机还是电脑,查看自己ip地址,有以下几种常见的方式:
①.,浏览器百度查询:打开手机/电脑的浏览器,百度输入:ip,显示的结果就是本地的ip地址信息
以上几种方式,就是查看自己ip归属地的方式,如果是需要查看其它ip地址的归属地,则通过第二种方式,在网页端查询即可.
echo?getcposition(getIP());
function?getIP(){
if?(isset($_SERVER))?{
if?(isset($_SERVER[HTTP_X_FORWARDED_FOR]))?{
$realip?=?$_SERVER[HTTP_X_FORWARDED_FOR];
}?elseif?(isset($_SERVER[HTTP_CLIENT_IP]))?{
$realip?=?$_SERVER[HTTP_CLIENT_IP];
}?else?{
$realip?=?$_SERVER[REMOTE_ADDR];
if?(getenv("HTTP_X_FORWARDED_FOR"))?{
$realip?=?getenv(?"HTTP_X_FORWARDED_FOR");
}?elseif?(getenv("HTTP_CLIENT_IP"))?{
$realip?=?getenv("HTTP_CLIENT_IP");
$realip?=?getenv("REMOTE_ADDR");
return?$realip;
function?getcposition($ip){
$res1?=?file_get_contents("");
$res1?=?json_decode($res1,true);
//print_r($res1);
if?($res1[?"code"]==0){
return?$res1['data']["country"].$res1['data'][?"region"].$res1['data']["city"]."_".$res1['data'][?"isp"];
}else{
return?"未知";
}?
php
function GetIp(){
$realip = '';
$unknown = 'unknown';
if (isset($_SERVER)){
if(isset($_SERVER['HTTP_X_FORWARDED_FOR']) !empty($_SERVER['HTTP_X_FORWARDED_FOR']) strcasecmp($_SERVER['HTTP_X_FORWARDED_FOR'], $unknown)){
$arr = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
foreach($arr as $ip){
$ip = trim($ip);
if ($ip != 'unknown'){
$realip = $ip;
break;
}else if(isset($_SERVER['HTTP_CLIENT_IP']) !empty($_SERVER['HTTP_CLIENT_IP']) strcasecmp($_SERVER['HTTP_CLIENT_IP'], $unknown)){
$realip = $_SERVER['HTTP_CLIENT_IP'];
}else if(isset($_SERVER['REMOTE_ADDR']) !empty($_SERVER['REMOTE_ADDR']) strcasecmp($_SERVER['REMOTE_ADDR'], $unknown)){
$realip = $_SERVER['REMOTE_ADDR'];
$realip = $unknown;
if(getenv('HTTP_X_FORWARDED_FOR') strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), $unknown)){
$realip = getenv("HTTP_X_FORWARDED_FOR");
}else if(getenv('HTTP_CLIENT_IP') strcasecmp(getenv('HTTP_CLIENT_IP'), $unknown)){
$realip = getenv("HTTP_CLIENT_IP");
}else if(getenv('REMOTE_ADDR') strcasecmp(getenv('REMOTE_ADDR'), $unknown)){
$realip = getenv("REMOTE_ADDR");
return $realip;
function GetIpLookup($ip = ''){
if(empty($ip)){
$ip = GetIp();
$res = @file_get_contents(';ip=' . $ip);
if(empty($res)){ return false; }
$jsonMatches = array();
preg_match('#\{.+?\}#', $res, $jsonMatches);
if(!isset($jsonMatches[0])){ return false; }
$json = json_decode($jsonMatches[0], true);
if(isset($json['ret']) $json['ret'] == 1){
$json['ip'] = $ip;
unset($json['ret']);
return false;
return $json;
var_dump($ipInfos);
使用了新浪的开放API
/**
* 根据IP地址取得地理位置
*/
function get_ip_arr()
{
$ip=file_get_contents("");
preg_match_all("/\"(.*)\"/",$ip,$arr);
return $arr;
//返回一个数组,包括地区、IP等信息,自行获取即可.