php程序 js判断ip地区根据不同ip输出不同内容(商务通代码)

 我来答
百度网友a19d193
2013-05-15 · TA获得超过3446个赞
知道大有可为答主
回答量:1464
采纳率:100%
帮助的人:1442万
展开全部

不建议使用js进行这个处理,你这样做的话完整过程为

1. 用户访问php页面

2. 服务端输出html

3. 浏览器运行js检查ip所属区域

4. ajax方式提交区域信息给服务器

5. 服务器返回查询结果

6. js将查询结果显示到当前页面


你想想这要多长时间。因此最好是php端直接判断区域,然后直接查询并输出就行了。

提供一个php写的函数,如果有用望采纳


function getCityByUserIp() {
    $ip = false;
    if (isset($_SERVER)){
        if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])){
            $ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
        } else if (isset($_SERVER["HTTP_CLIENT_IP"])) {
            $ip = $_SERVER["HTTP_CLIENT_IP"];
        } else {
            $ip = $_SERVER["REMOTE_ADDR"];
        }
    } else {
        if (getenv("HTTP_X_FORWARDED_FOR")){
            $ip = getenv("HTTP_X_FORWARDED_FOR");
        } else if (getenv("HTTP_CLIENT_IP")) {
            $ip = getenv("HTTP_CLIENT_IP");
        } else {
            $ip = getenv("REMOTE_ADDR");
        }
    }
    if (false === $ip) {
        return false;
    }
    $file = fopen('http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=' . $ip, 'r');
    $content = fread($file, 1024);
    fclose($file);
    if (! preg_match("/^var remote_ip_info = (\\{[^\\}]+\\});$/", $content, $_match)) {
        return false;
    }
    $ipInfo = json_decode($_match[1]);
    return $ipInfo;
}


返回的数组中包括 country, province, city等,如果返回false表示无法获得ip或该ip没有在大陆地区匹配的记录(港澳台似乎有province,但是没有city)。

Storm代理
2023-07-25 广告
StormProxies是一家提供动态代理服务器服务的企业,旨在帮助用户更好地管理网络访问和安全。以下是一些关于StormProxies的IP动态代理服务的特点:1. 高匿名性:StormProxies的动态代理服务器具有高匿名性,可以有效... 点击进入详情页
本回答由Storm代理提供
jinyc007
2013-05-15 · TA获得超过934个赞
知道小有建树答主
回答量:398
采纳率:75%
帮助的人:475万
展开全部
1、获取用户的IP
2、判断IP属地,这里推荐一个工具:淘宝IP地址库
3、输出
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ipbun
2013-05-15 · TA获得超过1355个赞
知道小有建树答主
回答量:1782
采纳率:47%
帮助的人:690万
展开全部
<script src="http://counter.sina.com.cn/ip" type="text/javascript" charset=gb2312></script>
<script>
var sf=ILData[2];
if(sf.indexOf("北京")>=0){
window.location.href="URL";
}
else if(sf.indexOf("河北")>=0){
window.location.href="URL";
}
else if(sf.indexOf("天津")>=0){
window.location.href="URL"; //你也可以自己定义成文本内容
}
</script>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式