PHP无需IP库,获取城市名来使用! php转义字符的使用 护卫神php套件使用 php源码使
程序员文章站
2022-04-19 21:22:18
...
在最近一次二次开发中,需要开发当前城市进入自动选择,所以想了下办法使用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 来获取
//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查询与数据库的城市进行匹配了,返回我们需要的城市
这样我们无需IP库,就可以获取城市名来使用!
原文地址:http://www.12345t.com/code/php/20130819/70.html
以上就介绍了PHP无需IP库,获取城市名来使用!,包括了php,使用方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
上一篇: 讲解php创建文件实例代码