PHP 获取IP 并根据IP获取 城市省份等信息
2015-06-23 15:03
609 查看
$ipInfos = GetIpLookup('123.125.114.144'); //baidu.com IP地址
var_dump($ipInfos);
function getIp(){
if (@$_SERVER['HTTP_CLIENT_IP'] && $_SERVER['HTTP_CLIENT_IP']!='unknown') {
$ip = $_SERVER['HTTP_CLIENT_IP'];
} elseif (@$_SERVER['HTTP_X_FORWARDED_FOR'] && $_SERVER['HTTP_X_FORWARDED_FOR']!='unknown') {
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
$ip = $_SERVER['REMOTE_ADDR'];
}
return $ip;
}
//根据IP获取当前城市
function GetIpLookup($ip = ''){
if(empty($ip)){
$ip = getIp();
}
$res = @file_get_contents('http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&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']);
}else{
return false;
}
return $json;
}
var_dump($ipInfos);
function getIp(){
if (@$_SERVER['HTTP_CLIENT_IP'] && $_SERVER['HTTP_CLIENT_IP']!='unknown') {
$ip = $_SERVER['HTTP_CLIENT_IP'];
} elseif (@$_SERVER['HTTP_X_FORWARDED_FOR'] && $_SERVER['HTTP_X_FORWARDED_FOR']!='unknown') {
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
$ip = $_SERVER['REMOTE_ADDR'];
}
return $ip;
}
//根据IP获取当前城市
function GetIpLookup($ip = ''){
if(empty($ip)){
$ip = getIp();
}
$res = @file_get_contents('http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&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']);
}else{
return false;
}
return $json;
}
相关文章推荐
- PHP数据库连接文件
- PHP5.3, PHP5.4, PHP5.5新特性
- vsftpd服务配置
- php怎么判断网页是电脑访问还是手机访问
- php常用正则表达式
- IIS建立FTP站点
- 如何查看php版本
- php 登陆后台验证代码
- php 5.3 配置mssql笔记
- tp 大致执行流程
- Thinkphp 联表查询
- TP 验证登录权限
- 关于Proftpd
- PHP实现在线阅读PDF文件的方法
- php中header设置常见文件类型的content-type
- PHP是什么?
- PHP register_shutdown_function()函数的使用示例
- PHP配置把错误日志以邮件方式发送方法(Windows系统)
- PHP中把错误日志保存在系统日志中(Windows系统)
- PHP中通过trigger_error触发PHP错误示例