通过js 接收了用户的ip,我们需要通过ip得到用户的国家,可以通过一个库包来实现,下面是详细:

1.下载geoip的数据库:

cd geoip/

wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz

gzip -d GeoIP.dat.gz

ls

GeoLiteCity.dat

其他库: 查看

2. 下载php库包:

wget http://www.maxmind.com/download/geoip/api/php/php-latest.tar.gz

unzip php-latest.tar.gz

3.使用:

include("/www/web/develop/marketsystem/common/lib/geoip-api-php-1.14/src/geoip.inc");

//得到国家。通过ip

function getCountryByIp($ip){

$gi = geoip_open("/www/web/develop/marketsystem/common/lib/geoip/GeoIP.dat", GEOIP_STANDARD);

if(strstr($ip,":")){

$country_code = geoip_country_code_by_addr_v6($gi,$ip);

$country_name = geoip_country_name_by_addr_v6($gi,$ip);

}else{

$country_code = geoip_country_code_by_addr($gi,$ip);

$country_name = geoip_country_name_by_addr($gi,$ip);

}

geoip_close($gi);

return [

"country_code" => $country_code,

"country_name" => $country_name,

];

}

geoip2 php,Geoip geoip-api-php 库包使用 – 通过ip 找到国家相关推荐

  1. 使用Hive UDF和GeoIP库为Hive加入IP识别功能

    导读:Hive是基于Hadoop的数据管理系统,作为分析人员的即时分析工具和ETL等工作的执行引擎,对于如今的大数据管理与分析.处理有着非常大的意义.GeoIP是一套IP映射库系统,它定时更新,并且提 ...

  2. xml介绍与解析,及xml库包使用

    欢迎大家关注笔者,你的关注是我持续更博的最大动力 原创文章,转载告知,盗版必究 xml介绍与解析,及xml库包使用 文章目录: 1 XML简单介绍 1.1 XML简单介绍 1.2 XML语法结构 2 ...

  3. [GO语言基础] 二.编译运行、语法规范、注释转义及API标准库知识普及

    作为网络安全初学者,会遇到采用Go语言开发的恶意样本.因此从今天开始从零讲解Golang编程语言,一方面是督促自己不断前行且学习新知识:另一方面是分享与读者,希望大家一起进步.前文介绍了什么是GO语言 ...

  4. 用laravel dingo api插件库创建api的一些心得笔记

    用laravel创建api是很多大型项目正在使用的方法,一般他们都是用dingo api插件库来开发自己的api.以下是ytkah用dingo api的一些心得,有需要的朋友可以关注一下 1.安装 因 ...

  5. Aspose.Total for C++是一个完整的C++文件格式自动化库包

    用于 Microsoft Office 文件格式.PDF 和条形码的 C++ API 开发本机 C++ 应用程序来处理 Microsoft Project.Excel.Word.PowerPoint. ...

  6. 使用Cython库包对python的py文件(源码)进行加密,把python的.py文件生成.so文件并调用

    文章目录: 1 准备环境 2 调用`Cython库包`把python的`.py`文件生成`.so`文件 2.1 写源码文件 2.2 调用源码接口 2.3 调用Cython库把`.py`源码生成`.so ...

  7. pip安装库包遇到错误:TypeError: expected str, bytes or os.PathLike object, not int 的解决方法

    1 问题描述 1.在安装python3的库包时候,遇到和os模块相关的错误:TypeError: expected str, bytes or os.PathLike object, not int, ...

  8. 在Jetson Nano上编译 pyrealsense2库包,并在Intel的tof相机上进行测试

    关于如何从源码编译pyrealsense2 文章目录: 1 编译librealsense中python相关的库 2 使用pyrealsense2获取Intel 的tof相机视频流用例 1 编译libr ...

  9. 深度学习项目中在yaml文件中定义配置,以及使用的python的PyYAML库包读取解析yaml配置文件

    文章目录: 1 yaml说明介绍 1.1 yaml介绍 1.2 YAML 相关网址 2 YAML的python包PyYAML的使用 2.1 关于PyYAML的相关网址 2.2 安装PyYAML 2.3 ...

最新文章

  1. 页面的前进/后退/刷新方法
  2. 从事JAVA 20年最终却败给了Python,哭了!
  3. DokuWiki 开源wiki引擎程序
  4. ITK:均值滤波的图像
  5. hdu2066一个人的旅行(多源点多汇点的最短路径问题)
  6. 数据可视化的图表实现
  7. js知识学习图谱,新手必看
  8. git 回退上一个版本_世界上最流行的版本控制系统Git
  9. 电脑html动态桌面壁纸制作,动态桌面软件《Wallpaper Engine》 让你的电脑桌面动起来!...
  10. Keil(C51)介绍、下载、安装与注册
  11. opencv4下使用SVM进行简单颜色分类
  12. KNN算法和kd树详解(例子+图示)
  13. 读书笔记 - 《门口的野蛮人》
  14. [28期] 坚定信念,抗战二十年
  15. 自动化测试框架详解【2022】
  16. 01-Spring的初体验:spring工厂的化过程
  17. python语言程序设计(梁勇)
  18. linux CentOS
  19. 如何系统学习数据分析?
  20. jquery插件chosen多选时排序问题

热门文章

  1. java 登录下线_java 实现 一个账号只能在一个地方登陆,其他地方被下线
  2. python之蓝图blueprint浅析
  3. git File name too long
  4. ffmpeg视频学习网站
  5. shell编程中的 ${ }强大功能
  6. python列表不包含哪个内置函数_python 列表的推导器和内置函数
  7. 一文简单弄懂tensorflow_【TensorFlow】一文弄懂CNN中的padding参数
  8. 查看linux上redis的运行状态,Redis教程(七)使用info查看服务状态
  9. html代码格式化vscode,vscode 代码格式化
  10. yii2.0框架中自定义接口,实现类的多继承