php 怎么获得客户端的ip 和所在省市 求具体实现代码。。谢谢。。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以这样:http://www.ip138.com/ips.asp?ip=113.105.80.25然后用正则匹配出这个结果 提供几个ip地址API 新浪的IP地址查询接口:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js新浪另外一个IP地址查询接口:http://counter.sina.com.cn/ip新浪多地域测试方法:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=218.192.3.42 搜狐IP地址查询接口(默认GBK):http://pv.sohu.com/cityjson 搜狐IP地址查询接口(可设置编码):http://pv.sohu.com/cityjson?ie=utf-8 搜狐另外的IP地址查询接口:http://txt.go.sohu.com/ip/soip 1.可以自己建ip库,数据可以从类似纯真之类的数据包里提取2.获取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); }3.可以将ip传递给一些目前网上可用的接口取得返回的数据进行解析即可例如http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=219.136.252.33注意不传递ip的话自动获取访问者的ip地址. 再给你补充个代码就齐了,TottyAndBaty 还藏了不少好东西嘛$s = file_get_contents('http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js');preg_match('/{.+}/', $s, $r);$p = json_decode($r[0],true);print_r($p); 用PHP写个淘宝自动登录,大家讨论下 .htaccess转码 新浪最新面试题 jquery ajax在IE中出错,在Firefox中正常 非常急的项目,请各位给点意见~(分不够再加) 正则,又见正则!来来来~~~~~~ 问:Apache1.3下面为什么不能使用PATH_INFO??? jpgraph中文显示问题 关于zend的菜问题 编程思路求教 500错误,本人新手,安装了wamp,报错啊。 php怎么解决手机不支持cookie
提供几个ip地址API
新浪的IP地址查询接口:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js
新浪另外一个IP地址查询接口:http://counter.sina.com.cn/ip
新浪多地域测试方法:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=218.192.3.42
搜狐IP地址查询接口(默认GBK):http://pv.sohu.com/cityjson
搜狐IP地址查询接口(可设置编码):http://pv.sohu.com/cityjson?ie=utf-8
搜狐另外的IP地址查询接口:http://txt.go.sohu.com/ip/soip
{
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);
}3.可以将ip传递给一些目前网上可用的接口取得返回的数据进行解析即可例如
http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=219.136.252.33注意不传递ip的话自动获取访问者的ip地址.
preg_match('/{.+}/', $s, $r);
$p = json_decode($r[0],true);
print_r($p);