In diesem Artikel geht es darum, wie man ermittelt, ob eine IP-Adresse innerhalb des Bereichs in PHP liegt. Freunde in Not können sich darauf beziehen.
Ich habe viele Arten von IP-Adressen im Internet gesehen Zu den Methoden gehören reguläre Methoden und das Abfangen von Zeichenfolgen. Ich habe viel ausprobiert und habe das Gefühl, dass es nicht sehr zuverlässig ist, wenn man die Genauigkeit ein wenig aufgibt. Zweitens schadet es der Leistung zu sehr und ist kompliziert. Nachdem ich viele Informationen durchsucht hatte, habe ich eine einfache Methode zur Bestimmung des IP-Adressbereichs mit besserer Leistung gefunden, die ich hier notieren werde.
Was die IP-Adressdatenbank betrifft, ist sie wirklich gut: http://www.cz88.net/
Sie können auch die Online-Schnittstelle verwenden, aber es gibt Probleme. Sie können for-Schleifen nicht häufig für den Zugriff verwenden, da er sonst von der Schnittstelle blockiert wird
Taobao IP-Adressdatenbank: http://ip.taobao.com/service/getIpInfo.php?ip=Geben Sie hier die IP ein Adresse
Okay, es ist tatsächlich sehr einfach, den IP-Adressbereich wirklich mit einer Codezeile zu bestimmen Als ich mir den Fall ansah, schrieb ich unten:
[php] Nur-Kopie anzeigen
//案例:判断192.168.1.127是否在 (192.168.1.1--192.168.1.255)的范围里面 $ip_start = get_iplong('192.168.1.1'); //起始ip $ip_end = get_iplong('192.168.1.255');//至ip $ip = get_iplong('192.168.1.127');//判断的ip //可以这样简单判断 if($ip>=$ip_start && $ip <=$ip_end){ echo 'IP在此范围内'; }else{ echo 'IP不在此范围'; } /** * 将ip地址转换成int型 * @param $ip ip地址 * @return number 返回数值 */ function get_iplong($ip){ //bindec(decbin(ip2long('这里填ip地址'))); //ip2long();的意思是将IP地址转换成整型 , //之所以要decbin和bindec一下是为了防止IP数值过大int型存储不了出现负数。 return bindec(decbin(ip2long($ip))); }
Das obige ist der detaillierte Inhalt vonBestimmen Sie, ob eine IP-Adresse innerhalb des Bereichs in PHP vorhanden ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!