PHP无需IP库,获取城市名来使用!

2 篇文章 0 订阅
1 篇文章 0 订阅

在最近一次二次开发中,需要开发当前城市进入自动选择,所以想了下办法使用PHP无需IP库,获取城市名来使用!

    获取用户城市信息可以使用纯真IP库也可以的,只不过我当前开发的好像美团哪样的城市进入功能,好像IP库直接用不上
    所以我们只能小偷一下别人的ip库信息了..
      外部IP库信息获取我暂时提供两个,比较稳定

新浪接口地址:http://int.dpool.sina.com.cn/iplookup/iplookup.php

淘宝API接口:http://ip.taobao.com/service/getIpInfo.php?ip=125.73.111.159

我们要获取上面的其中一个外部IP城市库 信息

   使用PHP的file_get_contents 来获取


<span style="font-size:18px;">//php脚本开始
	//PHP返回客户端IP,还不错
	function GetIP(){
	if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown"))
	$ip = getenv("HTTP_CLIENT_IP");
	else if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown"))
	$ip = getenv("HTTP_X_FORWARDED_FOR");
	else if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown"))
	$ip = getenv("REMOTE_ADDR");
	else if (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown"))
	$ip = $_SERVER['REMOTE_ADDR'];
	else
	$ip = "unknown";
	return($ip);
	}
	//如果是本地IP,将无法测试,如要测试,开启下面的代码就会返回我的IP
	/**/
	function GetIPs(){return '125.73.111.159';}
	/**/
	//远程城市数据返回点
	$filename = "http://ip.taobao.com/service/getIpInfo.php?ip=".GetIPs();
	//使用file_get_contents返回json数据,确认程序是否开启file_get_contents
	$json = json_decode(file_get_contents($filename));
	//转换编码,不然会乱码
	$city=iconv("utf-8","gb2312",$json->data->city);
	//打印城市
	 
	echo $city;
	//到这里我们就可以使用SQL查询与数据库的城市进行匹配了,返回我们需要的城市</span>

  这样我们无需IP库,就可以获取城市名来使用!

原文地址:http://www.12345t.com/code/php/20130819/70.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值