This Composer package provides two functions that allow converting between IP Address and IP Decimal. It works for both IPv4 and IPv6.
Based on the answer to "How to convert IPv6 from binary for storage in MySQL?" on StackOverflow by Sander Marechal. Content posted on StackOverflow is under the CC BY-SA 3.0 License.
- BCMath
- PHP 5.3+
$decimal_ip = \Foolz\Inet\Inet::ptod($ip);
$ip = \Foolz\Inet\Inet::dtop($decimal_ip);
You should use a DECIMAL(39,0)
column to store the entire IP Decimal.