本文实例讲述了帝国cms根据ip跳转到不同的页面的方法。分享给大家供大家参考。
具体实现代码如下:
代码如下:
1
2
3
4
5
<?php //php获取ip的算法
$user_IP = ($_SERVER["HTTP_VIA"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"];
$user_IP = ($user_IP) ? $user_IP : $_SERVER["REMOTE_ADDR"];
//echo $user_IP;
?>
推荐学习《帝国cms教程》
上述方法获得客户端IP地址后,再传入convertip函数转化为真实地址,convertip($ip)函数代码如下:
代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
//===================================
// 功能:IP地址获取真实地址函数
// 参数:$ip - IP地址
//===================================
function convertip($ip) {
//IP数据文件路径
$dat_path = QQWry.dat;
//检查IP地址
if(!ereg("^([0-9]{1,3}.){3}[0-9]{1,3}$", $ip)){
return IP Address Error;
}
//打开IP数据文件
if(!$fd = @fopen($dat_path, rb)){
return IP date file not exists or access denied;
}
//分解IP进行运算,得出整形数
$ip = explode(., $ip);
$ipNum = $ip[0] * 16777216 + $ip[1] * 65536 + $ip[2] * 256 + $ip[3];
//获取IP数据索引开始和结束位置
$DataBegin = fread($fd, 4);
$DataEnd = fread($fd, 4);
$ipbegin = implode(, unpack(L, $DataBegin));
if($ipbegin $ipNum || $ip2num $ipNum) {
$EndNum = $Middle;
continue;
}
//取完上一个索引后取下一个索引
$DataSeek = fread($fd, 3);
if(strlen($DataSeek)
使用时通过convertip函数根据IP地址获取真实地址,再通过如下js代码实现跳转功能:
代码如下:
1
2
3
4
5
6
7
var sf=;//此处的sf变量可保存PHP函数获取到的真实地址
if(sf.indexOf("香港")>=0){
window.location.href="http://www.****.com/?香港";
}
else if(sf.indexOf("广东省")>=0){
window.location.href="http://www.****.com/?广东";
}
希望本文所述对大家的帝国CMS建站有所帮助。
以上就是深入帝国CMS根据ip跳转到不同的页面的方法的详细内容,更多请关注php中文网其它相关文章!