Ich möchte IP-Adressen in meiner Datenbank speichern, aber ich muss sie auch in meiner gesamten Anwendung verwenden. Ich lese über INET_ATON()
und INET_NTOA()
in meinen MySQL-Abfragen, um eine 32-Bit-Ganzzahl ohne Vorzeichen aus einer IP-Adresse zu erhalten, was genau das ist, was ich schneller durch die Datenbank suchen werde als mit char (15).INET_ATON() und INET_NTOA() in PHP?
Die Sache ist, ich kann eine Funktion nicht finden, die die gleiche Sache in PHP tut. Das einzige, was ich kam über ist:
http://php.net/manual/en/function.ip2long.php
So testete ich es:
$ip = $_SERVER['REMOTE_ADDR'];
echo ip2long($ip);
Und es gibt nichts. In dem Beispiel, das sie gaben, scheint es zu funktionieren, aber dann bin ich mir nicht sicher, ob ip2long()
dasselbe tut wie INET_ATON()
.
Kennt jemand eine PHP-Funktion, die dies tun wird? Oder sogar eine völlig neue Lösung zum Speichern einer IP-Adresse in einer Datenbank?
Danke.
hinzuzufügen vergessen, ich bin auf localhost arbeiten, so vielleicht deshalb ip2long() gibt nichts zurück? – blerh
Das IPv4 von localhost ist immer noch 127.0.0.1, es sollte funktionieren, außer Sie verwenden IPv6 - überprüfen Sie meine Antwort. –