深入帝国CMS根据ip跳转到不同的页面的方法

来源:undefined 2025-01-04 10:05:28 1083

本文实例讲述了帝国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("香港")&gt;=0){

window.location.href="http://www.****.com/?香港";

}

else if(sf.indexOf("广东省")&gt;=0){

window.location.href="http://www.****.com/?广东";

}

登录后复制

希望本文所述对大家的帝国CMS建站有所帮助。

以上就是深入帝国CMS根据ip跳转到不同的页面的方法的详细内容,更多请关注php中文网其它相关文章!

最新文章