Function.ip2long
Aus PHP-Wiki
ip2long — Verwandelt eine gemäß IPv4-Protokoll angegebene Internet-Adresse vom Punkt-Format in die ausgeschriebene Adress-Angabe
Inhaltsverzeichnis |
Beschreibung
int ip2long ( string $ip_address )
Die Funktion ip2long() erzeugt aus einer im
Punkt-Format angegebenen IPv4-Adresse eine ausgeschriebene
Adress-Angabe.
ip2long() funktioniert auch mit unvollständigen
IP-Adressen. Lesen Sie [http://publibn.boulder.ibm.com/doc_link/en_US/a_doc_lib/libs/commtrf2/inet_addr.htm], um weitere Informationen
zu erhalten.
Parameter-Liste
- ip_address
- Eine Adresse im Standardformat.
Rückgabewerte
Gibt die IPv4-Adresse zurück. Ist ip_address ungültig, wird FALSE zurückgegeben.
ChangeLog
Version
Beschreibung
5.0.0
Vor dieser Version gab ip2long() im Fehlerfall -1
zurück.
Beispiele
#1 ip2long()
<?php $ip = gethostbyname('www.example.com'); $out = "Die folgenden URLs entsprechen sich:<br />\n"; $out .= 'http://www.example.com/, http://' . $ip . '/, and http://' . sprintf("%u", ip2long($ip)) . "/<br />\n"; echo $out; ?>
#2 Eine IP
Beispiel #3 IP-Validierung
ip2long() sollte nicht als einzige Form der IP-Validierung verwendet werden. Kombinieren Sie die Funktion mit long2ip():
<?php // Stellen Sie sicher, dass die IPs gültig sind. Es werden auch unvollständige // IPs entsprechend der untenstehenden Erläuterung in das Punktformat konvertiert. $ip = long2ip(ip2long("127.0.0.1")); // "127.0.0.1" $ip = long2ip(ip2long("10.0.0")); // "10.0.0.0" $ip = long2ip(ip2long("10.0.256")); // "10.0.1.0" ?>
Anmerkungen
Hinweis:
Da der Integertyp von PHP vorzeichenbehaftet ist und viele IP-Adressen
in einen negativen Integerwert aufgelöst werden, sollten Sie die
Formatierungsangabe "%u" für sprintf() und
printf() verwenden, um eine Stringrepräsentation der
vorzeichenlosen IP-Adresse zu erhalten.
Hinweis:
ip2long() gibt in PHP 5 <= 5.0.2 für die IP-Adresse
255.255.255.255 FALSE zurück. Der Fehler wurde in
PHP 5.0.3 gefixt, so dass wieder -1 zurückgegeben
wird (ebenso wie in PHP 4).