全国咨询热线:18720358503

王国CMS依据ip自动跳转到不一样的网页页面的方式

类别:行业新闻 发布时间:2021-03-21 浏览人次:

王国CMS依据ip自动跳转到不一样的网页页面的方式

公布 编写:cms学校工作组 &文章投稿

文中案例叙述了王国CMS依据ip自动跳转到不一样的网页页面的方式。共享给大伙儿供大伙儿参照。
实际完成编码以下:
拷贝编码
编码以下:
//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;
?
所述方式得到顾客端IP详细地址后,再传到convertip涵数转换为真正详细地址,convertip($ip)涵数编码以下:
拷贝编码
编码以下:
//===================================
// 作用: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] * + $ip[1] * 65536 + $ip[2] * 256 + $ip[3];
//获得IP数据信息数据库索引刚开始和完毕部位
$DataBegin = fread($fd, 4);
$DataEnd = fread($fd, 4);
$ipbegin = implode('', unpack('L', $DataBegin));
if($ipbegin 0) $ipbegin += pow(2, 32);
$ipend = implode('', unpack('L', $DataEnd));
if($ipend 0) $ipend += pow(2, 32);
$ipAllNum = ($ipend - $ipbegin) / 7 + 1;
$BeginNum = 0;
$EndNum = $ipAllNum;
//应用二分搜索法从数据库索引纪录中检索配对的IP纪录
while($ip1num $ipNum || $ip2num $ipNum) {
$Middle= intval(($EndNum + $BeginNum) / 2);
//偏位指针到数据库索引部位载入4个字节数
fseek($fd, $ipbegin + 7 * $Middle);
$ipData1 = fread($fd, 4);
if(strlen($ipData1) 4) {
fclose($fd);
return 'System Error';
}
//获取出去的数据信息变换发展整形,假如数据信息是负数则再加2的3两次幂
$ip1num = implode('', unpack('L', $ipData1));
if($ip1num 0) $ip1num += pow(2, 32);
//获取的长整型数超过大家IP详细地址则改动完毕部位开展下一次循环系统
if($ip1num $ipNum) {
$EndNum = $Middle;
continue;
}
//取完上一个数据库索引后取下一个数据库索引
$DataSeek = fread($fd, 3);
if(strlen($DataSeek) 3) {
fclose($fd);
return 'System Error';
}
$DataSeek = implode('', unpack('L', $DataSeek.chr(0)));
fseek($fd, $DataSeek);
$ipData2 = fread($fd, 4);
if(strlen($ipData2) 4) {
fclose($fd);
return 'System Error';
}
$ip2num = implode('', unpack('L', $ipData2));
if($ip2num 0) $ip2num += pow(2, 32);
//没寻找提醒不明
if($ip2num $ipNum) {
if($Middle == $BeginNum) {
fclose($fd);
return 'Unknown';
}
$BeginNum = $Middle;
}
}
//下边的编码读晕了,没读搞清楚,有兴趣爱好的渐渐地读
$ipFlag = fread($fd, 1);
if($ipFlag == chr(1)) {
$ipSeek = fread($fd, 3);
if(strlen($ipSeek) 3) {
fclose($fd);
return 'System Error';
}
$ipSeek = implode('', unpack('L', $ipSeek.chr(0)));
fseek($fd, $ipSeek);
$ipFlag = fread($fd, 1);
}
if($ipFlag == chr(2)) {
$AddrSeek = fread($fd, 3);
if(strlen($AddrSeek) 3) {
fclose($fd);
return 'System Error';
}
$ipFlag = fread($fd, 1);
if($ipFlag == chr(2)) {
$AddrSeek2 = fread($fd, 3);
if(strlen($AddrSeek2) 3) {
fclose($fd);
return 'System Error';
}
$AddrSeek2 = implode('', unpack('L', $AddrSeek2.chr(0)));
fseek($fd, $AddrSeek2);
} else {
fseek($fd, -1, SEEK_CUR);
}
while(($char = fread($fd, 1)) != chr(0))
$ipAddr2 .= $char;
$AddrSeek = implode('', unpack('L', $AddrSeek.chr(0)));
fseek($fd, $AddrSeek);
while(($char = fread($fd, 1)) != chr(0))
$ipAddr1 .= $char;
} else {
fseek($fd, -1, SEEK_CUR);
while(($char = fread($fd, 1)) != chr(0))
$ipAddr1 .= $char;
$ipFlag = fread($fd, 1);
if($ipFlag == chr(2)) {
$AddrSeek2 = fread($fd, 3);
if(strlen($AddrSeek2) 3) {
fclose($fd);
return 'System Error';
}
$AddrSeek2 = implode('', unpack('L', $AddrSeek2.chr(0)));
fseek($fd, $AddrSeek2);
} else {
fseek($fd, -1, SEEK_CUR);
}
while(($char = fread($fd, 1)) != chr(0)){
$ipAddr2 .= $char;
}
}
fclose($fd);
//最终做相对的更换实际操作后回到結果
if(preg_match('/http/i', $ipAddr2)) {
$ipAddr2 = '';
}
$ipaddr = $ipAddr1 $ipAddr2
$ipaddr = preg_replace('/CZ88.Net/is', '', $ipaddr);
$ipaddr = preg_replace('/^s*/is', '', $ipaddr);
$ipaddr = preg_replace('/s*$/is', '', $ipaddr);
if(preg_match('/http/i', $ipaddr) || $ipaddr == '') {
$ipaddr = 'Unknown';
}
return $ipaddr;
}
?
应用时根据convertip涵数依据IP详细地址获得真正详细地址,再根据以下js编码完成自动跳转作用:
拷贝编码
编码以下:
var sf='';//这里的sf自变量可储存PHP涵数获得到的真正详细地址
if(sf.indexOf( 中国香港 ) =0){
window.location.href= ?中国香港
}
else if(sf.indexOf( 广东省省 ) =0){
window.location.href= ?广东省
}
期待文中上述对大伙儿的王国CMS建网站有一定的协助。
下一篇:没有了

推荐阅读

王国CMS依据ip自动跳转到不一样的网页页面的方式

王国CMS依据ip自动跳转到不一样的网页页面的方式公布 编写:cms学校工作组 &文章投稿文中案例叙述了王国CMS依据ip自动跳转到不一样的网页页面的方式。共享给大伙儿供大伙儿参照。实...

2021-03-21
你呢解盛行网页页面设计方案行业的「对外开放

假如你看看过《理想更新改造家》那样的家居装修类的综艺节目,会发觉主持人人与房间内设计方案师最经常提及的定义将会便是 对外开放式合理布局 了。实际上这一定义不但仅在家...

2021-03-21
视频语音集成ic网站SEO提升实例

有关网站运营,每一个提升对策师都是有着自身的查验明细,但难题是:针对这种查验明细,她们会多长时间去开展升级呢?好像SEO权威专家们生性都趋向于潜心在她们自身的程序里,...

2021-03-21
PHP数字能量数组实际操作详尽

一.什么叫数字能量数组数字能量数组是一组有某类相互特点的原素,包含类似性和种类。每一个原素由一个独特的标志符来区别,称作key,而每一个key都是有一个value1.建立数字能量数...

2021-03-21
网站SEO提升的较难点在哪儿里

创造我国企业网站建设优良知名品牌仅有顾客的令人满意,才有大家的发展趋势!!在线客服热线电话: 营销推广热线电话: 建立网站提升的最后目地便是以便赓续破格提拔网站的排行,...

2021-03-21
怎样把百度关键词保证百度搜索主页?

创造我国企业网站建设优良知名品牌仅有顾客的令人满意,才有大家的发展趋势!!在线客服热线电话: 营销推广热线电话: 1.重要词的恰当选择、有效运用 对一个在建设的网站来讲,重...

2021-03-21
X

400-8700-61718720358503
企业邮箱2639601583@qq.com
官方微信