2019独角兽企业重金招聘Python工程师标准>>>

根据IP地址来获取用户所在的地区,这个需要借助一个外部api或一个数据库来记录IP地址是哪里的,下面我总结一些常用的方法给各位参考。

先用php获取本机的ip,再用php的curl函数来获取用户的详细地区.下面来看一下代码;

/** 这个函数是获取客户端和IP*/
function GetIP()
{if(!empty($_SERVER["HTTP_CLIENT_IP"])){$cip = $_SERVER["HTTP_CLIENT_IP"];}else if(!empty($_SERVER["HTTP_X_FORWARDED_FOR"])){$cip = $_SERVER["HTTP_X_FORWARDED_FOR"];}else if(!empty($_SERVER["REMOTE_ADDR"])){$cip = $_SERVER["REMOTE_ADDR"];}else{$cip = '';}preg_match("/[d.]{7,15}/", $cip, $cips);$cip = isset($cips[0]) ? $cips[0] : 'unknown';unset($cips);return $cip;
}

方法一,利用QQWry.Dat IP库,我们只胖乎乎

用简单的办法。

使用示例

示例一:

$IpLocation = new IpLocation();
$client = $IpLocation->getlocation();
print_r($client);

示例二:

$IpLocation = new IpLocation('../qqwry/QQWry.Dat');
$client = $IpLocation->getlocation('115.148.101.72');
print_r($client);

具体的IP库与Iplocation类文件这里不介绍了大家百度搜索吧。

方法二,利用api接口

示例一,

 /*** 获取IP地区* Enter description here ...* @param unknown_type $ip*/function GetArea($ip){$url = "http://ip168.com/ip/?ip=".$ip;$contents = file_get_contents($url);
// preg_match_all('/<h3[sS]*?(<a[sS]*?</h3>)/',$contents,$rs);preg_match_all('|<div>本站主数据:.*</div>|',$contents,$rsR);$rsR[0][0] = str_replace("<div>本站主数据:", "", $rsR[0][0]);$rsR[0][0] = str_replace("</div>", "", $rsR[0][0]);return $rsR[0][0];}

示例二,

下面这个函数是用php的curl函数从网路上获取详细地区

function lazdf($ip){
$curl= curl_init();
curl_setopt($curl,CURLOPT_URL,"http://www.ip138.com/ips138.asp?ip=".$ip);
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
$ipdz=curl_exec($curl);
curl_close($curl);
preg_match("/<ul class="ul1"><li>(.*?)</li>/i",$ipdz,$jgarray);
preg_match("/本 www.111cn.net 站主数据:(.*)/i", $jgarray[1],$ipp);
return  "<div class="global_widht global_zj zj" style="background: none repeat scroll 0% 0% rgb(226, 255, 191); font-size: 12px; color: rgb(85, 85, 85); height: 30px; line-height: 30px; border-bottom: 1px solid rgb(204, 204, 204); text-align: left;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;欢迎来自&nbsp;<b>".$ipp[1]."</b>&nbsp;的朋友!</div>";
}
echo lazdf(GetIP());//输出ip

转载于:https://my.oschina.net/weixinmi/blog/206410

php根据ip获取地区的程序代码相关推荐

  1. 【小程序】如何获取微信小程序代码上传密钥?

    当使用uniapp开发微信小程序的时候,发行微信小程序,自动上传微信平台,需要程序代码上传密钥 在下面的演示里重置才能获取

  2. php获取ip地区精确到区或镇,用php根据ip获取地区的方法

    在很多网站上看到一进来就会显示"欢迎来自XXXX地区的朋友",这样一句句小小的欢迎,但是给人一种温暖的感觉.对于php来说没这样的功能,但是可以变通一下.先用php获取本机的ip, ...

  3. 百度API根据ip获取对应地区

    1.ak 2.代码 import com.alibaba.fastjson.JSON; import com.common.util.http.HttpClientUtils; import org. ...

  4. 密码程序python_Python获取web密码程序的脚本源代码

    利用Python代码获取web密码程序的脚本源代码分享,达到能够抓取用户名.密码.cookie等信息的方法详解.需要用到 pcap.dpkt两个方法模块,请确认已经安装成功. python做的web获 ...

  5. php获取天气组件,php获取中国天气,中国天气插件说明,根据IP获取天气情况

    PHP » 编程开发 » php获取中国天气,中国天气插件说明,根据IP获取天气情况 php获取中国天气,中国天气插件说明,根据IP获取天气情况 今天客户端需要获取天气情况,于是查询了一下! 看一下要 ...

  6. 纯真数据库理解及根据IP定位地区

    在系统中,查看用户的登录信息是一个很常见的功能.我们往往会记录下用户计算机的IP和地理位置,然而IP地址记录非常容易,但是地理位置相对来说较难.开始,菜鸟是想创建一个IP地址库,根据IP地址库查找相应 ...

  7. [小程序逆向]PC端VX小程序代码提取

    前言 在微信 PC 端还未上线小程序功能之前,想要提取 VC 小程序代码必须通过移动端来提取,不过现在有了 PC 端之后可以方便的在 PC 上使用小程序,那么也可以通过 PC 端来获取 VX 小程序代 ...

  8. golang中获取公网ip、查看内网ip、检测ip类型、校验ip区间、ip地址string和int转换、根据ip判断地区国家运营商等

    作者: 一蓑烟雨1989 所属专栏: Go从不放弃到实战 本文链接:https://blog.csdn.net/wangshubo1989/article/details/78066344 生命不止, ...

  9. php获取访客精确ip,PHP获取访客IP、地区位置等技巧分享

    本文主要和大家介绍了利用PHP获取访客IP.地区位置.浏览器及来源页面等信息的相关资料,文中给出了详细的示例代码供大家参考学习,对大家具有一定的参考借鉴价值,需要的朋友们下面来一起看看吧. 示例代码& ...

最新文章

  1. Expo大作战(十八)--expo如何发布成独立应用程序,打包成apk或者ipa,发布到对应应用商店...
  2. redis在容器里连接不上_Redis服务器被劫持风波,服务器相关知识共享学习
  3. 根据开发提供的svn更新版本号从开发分支合并代码到测试分支工作目录的部分脚本...
  4. Android开发--AsyncTask异步任务(二)
  5. Redhat Linux 7.2 打开或关闭防火墙
  6. vc 只有顶级窗口可以弹出窗口_如何在Mac上允许弹出窗口
  7. 51CTO博客移动化意味着什么?IT博主可以搞事情了!
  8. CodeForces:54
  9. call to member function bind_param() on boolean...........
  10. 控制台怎么查看错误的详细信息_js错误处理,quot;try..catchquot;
  11. MySQL数据库表分区功能详解
  12. 【CCCC】L2-010 排座位 (25分),,并查集+二维矩阵判定关系
  13. HTML5新特性之跨文档消息传输
  14. centos7中firewall防火墙命令详解
  15. AHCI驱动中的cmd
  16. LambdaQueryWrapper构建查询条件、模糊查询、范围查询、排序
  17. 计算机以及dos窗口常用快捷键
  18. update会锁表吗?
  19. 如何关闭135端口、139端口、445端口
  20. 施工工地考勤防作弊通道系统,建筑工地通道系统管理方案

热门文章

  1. 看看能不能发推广链接。。。。。
  2. UCOSII学习笔记[开篇]
  3. Response.AddHeader
  4. PyTorch 入坑八:卷积与转置卷积
  5. 安阳学院有几次计算机考试,安阳:2017年上半年全国计算机等级考试顺利结束...
  6. 破解sourceInsight4
  7. 自定义标签的使用jsp实例_JSP自定义标签示例教程
  8. swift 的init_Swift init()
  9. Python字符串format_map()
  10. android 每日构建_Android构建类型和产品风味