php判断ip
‘壹’ php判断IP是中国IP还是外国IP
//返回ip所在的区域外国ip精确到国名
functiongetcposition($ip){
try{
$res1=file_get_contents("http://ip.taobao.com/service/getIpInfo.php?ip=$ip");
$res1=json_decode($res1,true);
if($res1["code"]==0){
return$res1['data']["country"].$res1['data']["region"].$res1['data']["city"]."_".$res1['data']["isp"];
}else{
return"未能获取";
}
}catch(Exception$e){
return"未能获取";
}
}
‘贰’ php 如何得知ip是否在线
比较简单的就是数据库存session,默认的session都是在文件里存放着
客户端请求你的站点,会自动创建一个session,(不管是不是你的会员都会自动创建session)。
1,你需要一个可以实现session入库的类,此类很多,实现原理其实很简单,你也可以自己写
2,在session中加入ip(比较好的session类中都会有这个字段)
3,查session表数据有没有你需要的ip,没有就不在线了
‘叁’ php如何判断IP为有效IP地址
不需要正则表达式来判断,因为在php5.2.0之后,有专门的函数来做这个判断了。
判断是否是合法IP
if(filter_var($ip,FILTER_VALIDATE_IP)){
//it'svalid
}
else{
//it'snotvalid
}
判断是否是合法的IPv4IP地址
if(filter_var($ip,FILTER_VALIDATE_IP,FILTER_FLAG_IPV4)){
//it'svalid
}
else{
//it'snotvalid
}
判断是否是合法的公共IPv4地址,192.168.1.1这类的私有IP地址将会排除在外
if(filter_var($ip,FILTER_VALIDATE_IP,FILTER_FLAG_IPV4|FILTER_FLAG_NO_PRIV_RANGE)){
//it'svalid
}
else{
//it'snotvalid
}
判断是否是合法的IPv6地址
if(filter_var($ip,FILTER_VALIDATE_IP,FILTER_FLAG_NO_RES_RANGE)){
//it'svalid
}
else{
//it'snotvalid
}
判断是否是publicIPv4IP或者是合法的PublicIPv6IP地址
if(filter_var($ip,FILTER_VALIDATE_IP,FILTER_FLAG_NO_PRIV_RANGE|FILTER_FLAG_NO_RES_RANGE)){
//it'svalid
}
else{
//it'snotvalid
}
‘肆’ PHP 怎样判断一个ip地址是否可以连接,比如说:192.168.0.1可以访问,192.168.0.115不能访问
一般的局域网内都用192.168开头.
ip的通用形式是:xxx.xxx.xxx.xxx
xxx的大小不能超过256.并且根据xxx的大小范围,对ip分了类.
192.168.开头的就是c类网.
如果有网关,一般是192.168.0.1
也就是说,局域网内ip不能直接连到互联网上,要通过这个网关地址的服务器才能连出去.
互联网上有很多局域网,192.168.开头的ip可以多次被使用(但同一局域网内的ip不能重复).
‘伍’ php判断是否是ip
可以用php的preg_matche,进行判断
if(!preg_matche('/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\/', $str)){
echo '不是';
}else{
echo '是';
}
‘陆’ 可否在php的网页中判断ip地址,然后显示不同网页
至于判断,你可以写一个匹配你们内部ip地址的正则表达式来,然后根据此表达式来判断客户ip地址 如果这麽固定的话,还不用正则表达式。 if(substr($REMOTE_ADDR,0,9)=="168.192.0"){ echo "是本地ip地址";}substr($REMOTE_ADDR,0,10)=="168.192.0." 如果客户端是通过代理上来的,只能获得代理服务器的地址,没法获得真实的IP,所以这个方法是有局限性的 我写了一个Php过滤ip的类,需要的话和我联系 [email protected] 我的邮箱[email protected] 我的信箱:[email protected] IP能否判断大小?若可以!最好就以大小来判断!能否给我也发一份,参考一下