请教:内网IP段自动跳转到不同IP。 最近在公司做的电影网站,因为有多个小区接入,每个小区电影网站的IP都不同现在想做一个可以从公网访问的PHP页 判断内网IP后 分别跳转到指定的地址这样应该怎么做呢? 谢谢各位朋友赐教:) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 得到客戶端的IP地址,分析來自哪個小區。然后跳轉到相應地址百度:客户端 php ip 刚才查了一下资料,我现在的是这样的架设IP是在192.168.189.2-192.168.189.254就访问www.sohu.com不是则访问www.sina.com.cn测试的时候 我发现我不管IP是多少都访问www.sina.com.cn还有一个问题,如果要做多个IP判断分别跳转,下面应该怎么写?谢谢各位。。<?php$curIP = $_SERVER['REMOTE_ADDR'];if (strcmp($curIP, "192.168.189.2") >= 0 && strcmp($curIP, "192.168.189.254") <= 0) header("Location: http://www.sohu.com/");else header("Location: http://www.sina.com.cn/");?> strcmp是字符串比较,好像192.168.189.3比192.168.189.254大啊,你可以把ip都用ip2long转为数字再比较,或者都去IP最后一段进行比较。分多个段可以再加elseif啊 if (ip2long($curIP) >= ip2long("192.168.189.2") && ip2long($curIP) <= ip2long("192.168.189.254")) T--T 谢谢各位朋友的热心帮助现在能力有限,不知道该怎么做了按照5楼的朋友的做法修改了那一行,发现我的IP还是跳转到新浪。。我再研究研究吧。。哪位朋友有空,能帮我做一个示例,感激不尽:)谢谢。。 经过刚才的测试,我发现我们公司走的线路有两条14条线路合并成三条,两条光纤,一条ADSL所以在IP138查询IP的时候是ADSL的公网IP,但我用PHP获取的IP是光纤线路的IP已经能够判断,但是怎样才能直接获取本地的内网IP判断内网IP来识别跳转呢??^_^ 首先确定是否正确取到IP,IP138当然显示是你公网IP了,你的服务器若在内网获取IP就应该是内网IP.先给你个我用的取IP function.function get_user_ip(){ if(getenv('HTTP_CLIENT_IP')) { $onlineip = getenv('HTTP_CLIENT_IP'); } elseif(getenv('HTTP_X_FORWARDED_FOR')) { $onlineip = getenv('HTTP_X_FORWARDED_FOR'); } elseif(getenv('REMOTE_ADDR')) { $onlineip = getenv('REMOTE_ADDR'); } else { $onlineip = $HTTP_SERVER_VARS['REMOTE_ADDR']; } return $onlineip;}ip2long比较已经可以解决你的问题,仔细测试。别外再给你提供个思路,就是explode IP后就比较前两段也可以的。即192和168。 新人问老问题:PHP的代码用什么来调试? 点击text文本框,内嵌input隐藏的问题 想做一个这样的网站大家看看要多少人民币呢? 传值问题请教 好消息:刚完成了一个视频搜索站点php+c#,散分庆祝 php给图片上添加的中文变成乱码了! 类似QQ这样的放号程序,怎么实现? 谁有用PHP 操作 word文件的方法?多谢 IIS下配置php-4.3.2-Win总是不行??? SQLSTATE[HY000]: General error: 2053 博客的内容的操作问题,急急 关于PHP聊天室添加表情功能的问题
百度:客户端 php ip
就访问www.sohu.com
不是则访问www.sina.com.cn测试的时候 我发现我不管IP是多少都访问www.sina.com.cn
还有一个问题,如果要做多个IP判断分别跳转,下面应该怎么写?
谢谢各位。。<?php
$curIP = $_SERVER['REMOTE_ADDR'];
if (strcmp($curIP, "192.168.189.2") >= 0 && strcmp($curIP, "192.168.189.254") <= 0)
header("Location: http://www.sohu.com/");
else
header("Location: http://www.sina.com.cn/");
?>
分多个段可以再加elseif啊
if(getenv('HTTP_CLIENT_IP')) {
$onlineip = getenv('HTTP_CLIENT_IP');
} elseif(getenv('HTTP_X_FORWARDED_FOR')) {
$onlineip = getenv('HTTP_X_FORWARDED_FOR');
} elseif(getenv('REMOTE_ADDR')) {
$onlineip = getenv('REMOTE_ADDR');
} else {
$onlineip = $HTTP_SERVER_VARS['REMOTE_ADDR'];
}
return $onlineip;
}ip2long比较已经可以解决你的问题,仔细测试。别外再给你提供个思路,就是explode IP后就比较前两段也可以的。即192和168。