本文实例讲述了PHP基于新浪IP库获取IP详细地址的方法。分享给大家供大家参考,具体如下:
<?php
class Tool{
/**
* 获取IP的归属地( 新浪IP库 )
*
* @param $ip String IP地址:112.65.102.16
* @return Array
*/
static public function getIpCity($ip)
{
$ip = preg_replace("/\s/","",preg_replace("/\r\n/","",$ip));
$link = "http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=".$ip."&t=".time();
$ipJson = self::httpCurl($link);
preg_match("/\"country\":\"(.*)\"/Uis",$ipJson, $match1);
preg_match("/\"province\":\"(.*)\"/Uis",$ipJson, $match2);
preg_match("/\"city\":\"(.*)\"/Uis",$ipJson, $match3);
return array(
'country'=>self::ucode2zh($match1[1]), // 国家
'province'=>self::ucode2zh($match2[1]), // 省
'city'=>self::ucode2zh($match3[1]) // 城市
);
}
/**
* Curl方式获取信息
*/
static public function httpCurl($url)
{
$curl_handle = curl_init();
curl_setopt($curl_handle, CURLOPT_URL, $url);
curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT,2);
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER,1);
curl_setopt($curl_handle, CURLOPT_FAILONERROR,1);
$file_content = curl_exec($curl_handle);
curl_close($curl_handle);
return $file_content;
}
/**
* 将unicode编码转化为中文,转化失败返回原字符串
*
* @param $code String unicode编码
* @return String
*/
static public function ucode2zh($code)
{
$temp = explode('\u',$code);
$rslt = array();
array_shift($temp);
foreach($temp as $k => $v)
{
$v = hexdec($v);
$rslt[] = '&#' . $v . ';';
}
$r = implode('',$rslt);
return empty($r) ? $code : $r;
}
}
获取IP地址类使用实例
<?php
$ipStr = Tool::getIpCity('112.65.102.16');
print_r($ipStr);
返回结果
Array ( [country] => 中国 [province] => 上海 [city] => 上海 )
PS:这里再为大家提供几款IP地址相关在线工具供大家参考使用:
IP地址归属地在线查询工具:
http://tools./aideddesign/ipcha
在线网络计算器|TCP/IP子网掩码计算与换算工具:
http://tools./aideddesign/ipcalc
在线IP地址/子网掩码计算与转换工具:
http://tools./aideddesign/ip_net_calc
在线子网掩码换算与网络计算工具:
http://tools./aideddesign/network_calc
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP网络编程技巧总结》、《PHP运算与运算符用法总结》、《php文件操作总结》、《PHP基本语法入门教程》、《php操作office文档技巧总结(包括word,excel,access,ppt)》、《php日期与时间用法总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
# PHP
# 新浪
# IP库
# IP地址
# php读取torrent种子文件内容的方法(测试可用)
# PHP批量获取网页中所有固定种子链接的方法
# PHP程序中的文件锁、互斥锁、读写锁使用技巧解析
# php读取二进制流(C语言结构体struct数据文件)的深入解析
# PHP文件锁定写入实例解析
# PHP实现将优酷土豆腾讯视频html地址转换成flash swf地址的方法
# php正则提取html图片(img)src地址与任意属性的方法
# php读取qqwry.dat ip地址定位文件的类实例代码
# THinkPHP获取客户端IP与IP地址查询的方法
# php进行ip地址掩码运算处理的方法
# PHP基于闭包思想实现的BT(torrent)文件解析工具实例详解
# 子网掩码
# 上海
# 程序设计
# 归属地
# 相关内容
# 感兴趣
# 给大家
# 转化为
# 更多关于
# 所述
# 中国
# 几款
# 面向对象
# 转换工具
# 再为
# 运算符
# 操作技巧
# 文档
# 编程技巧
相关文章:
如何在IIS管理器中快速创建并配置网站?
详解jQuery中基本的动画方法
海南网站制作公司有哪些,海口网是哪家的?
建站主机功能解析:服务器选择与快速搭建指南
如何在阿里云完成域名注册与建站?
制作农业网站的软件,比较好的农业网站推荐一下?
图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?
详解jQuery停止动画——stop()方法的使用
如何在万网开始建站?分步指南解析
外贸公司网站制作哪家好,maersk船公司官网?
免费制作海报的网站,哪位做平面的朋友告诉我用什么软件做海报比较好?ps还是cd还是ai这几个软件我都会些我是做网页的?
宝塔Windows建站如何避免显示默认IIS页面?
定制建站是什么?如何实现个性化需求?
如何选择适合PHP云建站的开源框架?
网站制作说明怎么写,简述网页设计的流程并说明原因?
西安大型网站制作公司,西安招聘网站最好的是哪个?
如何将凡科建站内容保存为本地文件?
如何快速搭建高效可靠的建站解决方案?
寿县云建站:智能SEO优化与多行业模板快速上线指南
制作宣传网站的软件,小红书可以宣传网站吗?
*服务器网站为何频现安全漏洞?
可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?
武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?
如何用y主机助手快速搭建网站?
如何在阿里云香港服务器快速搭建网站?
如何制作网站标识牌,动态网站如何制作(教程)?
c++怎么用jemalloc c++替换默认内存分配器【性能】
哈尔滨网站建设策划,哈尔滨电工证查询网站?
已有域名和空间如何搭建网站?
如何在阿里云虚拟主机上快速搭建个人网站?
建站之星导航配置指南:自助建站与SEO优化全解析
宝塔建站助手安装配置与建站模板使用全流程解析
建站之星与建站宝盒如何选择最佳方案?
制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?
如何确保FTP站点访问权限与数据传输安全?
交易网站制作流程,我想开通一个网站,注册一个交易网址,需要那些手续?
小程序网站制作需要准备什么资料,如何制作小程序?
,制作一个手机app网站要多少钱?
,石家庄四十八中学官网?
建站中国必看指南:CMS建站系统+手机网站搭建核心技巧解析
详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)
如何在阿里云部署织梦网站?
模具网站制作流程,如何找模具客户?
ui设计制作网站有哪些,手机UI设计网址吗?
如何通过wdcp面板快速创建网站?
在线ppt制作网站有哪些,请推荐几个好的课件下载的网站?
如何快速生成专业多端适配建站电话?
Python lxml的etree和ElementTree有什么区别
制作网站的网址是什么,请问后缀为.com和.com.cn还有.cn的这三种网站是分别是什么类型的网站?
javascript中对象的定义、使用以及对象和原型链操作小结
*请认真填写需求信息,我们会在24小时内与您取得联系。