|
我们先来看下个人常用的代码
PHP
4) return 0;
foreach($ip as $ip_addr) {
if ( !is_numeric($ip_addr) ) return 0;
if ( $ip_addr255 ) return 0;
}
return 1;
}
$ip=$_SERVER['REMOTE_ADDR'];
$ifErr=$QQWry->QQWry($ip);
$city = $QQWry->Country.$QQWry->Local;
//echo $city;*/
if (strpos($city,'玄武区')!==false){
$city = "玄武区";
}
else if(strpos($city,'仙林')!==false){
$city = "仙林";
}
else if(strpos($city,'秦淮区')!==false){
$city = "秦淮区";
}
else if(strpos($city,'江宁')!==false){
$city = "江宁";
}
else if(strpos($city,'鼓楼')!==false){
$city = "鼓楼";
}
else{
$city = "栖霞";
}
if (isset($_GET['chengshi'])) { //Ê×Ïȼì²âÊÇ·ñ»ñµÃÁË GET ´«µÝµÄÊý¾Ý
setcookie("cookie_city",$_GET['chengshi'],time()+3600*24);
$city = $_GET['chengshi'];
}
else if (isset($_COOKIE["cookie_city"])) { //¼ì²âÊÇ·ñ´æÔÚêdzÆCookie
$city = $_COOKIE["cookie_city"]; //ÏÔʾCookie±£´æµÄÊý¾Ý
}
else {
setcookie("cookie_city",$city,time()+3600*24); //´¿³õʼ»¯´Ë±äÁ¿
$_COOKIE["cookie_city"] = $city;
}
?>
HTML
城市切换
[B]
[TR]
| [TD]玄武区[/TD]
| [TD]仙林[/TD]
| [TD]秦淮区[/TD]
| [TD]鼓楼[/TD]
| [TD]江宁[/TD]
| [TD]栖霞区[/TD]
| [/TR] |
全部
[U]
全部小区
切换城市
[/U]
另外附上网友的实现方法:
使用方法:解压后QQWry.Dat就是我们想要IP地址数据库,我们新建一个ipcity文件夹,将数据库放在下面。QQ IP数据库使用非常方便,数据也很齐全,你可以及时关注官方更新以保持数据最新,强力推荐一下:)
接下来,我们在上面的ipcity目录下新建一个ipaddress.php文件,直接复制以下代码进去即可,重要的地方也作了相应注释。B段:
$useripNum || $userip2num $useripNum) {
$EndNum = $Middle;
continue;
}
//取完上一个索引后取下一个索引
$DataSeek = fread($fd, 3);
if(strlen($DataSeek)
PHP根据IP地址实现城市切换或跳转
到这里,其实问题已经很简单了,用简单的js就通通搞定。C段如下:
//根据IP地址跳转指定页面js取得城市
var city='';
//根据IP地址所有城市跳转到指定页面
if(city.indexOf("上海市")>=0){
window.location.href="http://shanghai.demo.com/";
}
将开头的A段代码和上面的C段代码分别放在B段代码的头和尾,然后我们在需要跳转的页面加入以下代码:
刷新页面,是不是达到预想的效果了呢?
以上就是PHP获取IP地址、PHP根据IP地址判断城市以及PHP根据IP地址实现城市切换或跳转的详细介绍了,事实上,像PHP中通过IP地址自动切换城市就是这个方法的典型应用。举一反三,我们通过这种方法,也可以实现屏蔽指定IP地址或城市的用户访问,自己研究一下吧,也挺简单的:)
您可能感兴趣的文章:PHP中根据IP地址判断城市实现城市切换或跳转代码PHP根据IP地址获取所在城市具体实现PHP判断IP并转跳到相应城市分站的方法
|
|