本文目錄一覽:
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
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/244650.html