PHP基于新浪IP库实现获取IP详细地址的方法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PHP基于新浪IP库实现获取IP详细地址的方法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1910字,纯文字阅读大概需要3分钟。
内容图文
![PHP基于新浪IP库实现获取IP详细地址的方法](/upload/InfoBanner/zyjiaocheng/136/04044d40e3ae4f7da48730911e0582bc.jpg)
具体如下:
<?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] => 上海 )
以上就是本文的全部内容,希望对大家的学习有所帮助。
相关推荐:
PHP strstr 函数判断字符串是否否存在的实例代码_php基础
php简单备份与还原MySql的方法_php技巧
PHP中基于ts与nts版本- vc6和vc9编译版本的区别详解_php基础
以上就是PHP基于新浪IP库实现获取IP详细地址的方法的详细内容,更多请关注Gxl网其它相关文章!
内容总结
以上是互联网集市为您收集整理的PHP基于新浪IP库实现获取IP详细地址的方法全部内容,希望文章能够帮你解决PHP基于新浪IP库实现获取IP详细地址的方法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。