本文目录一览:
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地址的方法
提供下面两个方法,供选择:
function checkIp($ip)
{
$arr = explode('.',$ip);
if(count($arr) != 4){
return false;
}else{
for($i = 0;$i 4;$i++){
if(($arr[$i] '0') || ($arr[$i] '255')){
return false;
}
}
}
return true;
}
function isIp($ip) {
if (preg_match('/^((?:(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(?:25[0-5]|2[0-4]\d|((1\d{2})|([1 -9]?\d))))$/', $ip)) {
return 1;
} else {
return 0;
}
}
php如何判断IP为有效IP地址
不需要正则表达式来判断,因为在php5.2.0之后,有专门的函数来做这个判断了。
判断是否是合法IP
if(filter_var($ip, FILTER_VALIDATE_IP)) {
// it's valid
}
else {
// it's not valid
}
判断是否是合法的IPv4 IP地址
if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4)) {
// it's valid
}
else {
// it's not valid
}
判断是否是合法的公共IPv4地址,192.168.1.1这类的私有IP地址将会排除在外
if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4 | FILTER_FLAG_NO_PRIV_RANGE)) {
// it's valid
}
else {
// it's not valid
}
判断是否是合法的IPv6地址
if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_RES_RANGE)) {
// it's valid
}
else {
// it's not valid
}
判断是否是public IPv4 IP或者是合法的Public IPv6 IP地址
if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE)) {
// it's valid
}
else {
// it's not valid
}