Converting IP Address to int value?
| From: | Jay Paulson \(CE CEN\) | Date: | Fri, 06 Jan 2006 17:57:30 +0000 |
| Subject: | Converting IP Address to int value? | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-228266@lists.php.net to get a copy of this message | ||
I'm in the process of parsing through a apache access_log file and putting the information into
a database. Right now I have the ip addresses going into a database as a character format
xxx.xxx.xxx.xxx and then later I'm creating my queries to search for ip addresses xxx.xxx.%,
which I think is really ineffecient. Therefore, I wanted to add a new field in my database which
would be just an int value and have php convert the ip address to an int for database insertion.
Then have an sql query that would just convert that int back into an ip address if I needed. My
ultimate goal is to be able to write a query simular to this:
SELECT * FROM Apache_Stats WHERE int_ip BETWEEN INET_ATON('xxx.xxx.0.0') AND INET_ATON
('xxx.xxx.255.255')
Is there a function in PHP that will convert the xxx.xxx.xxx.xxx ip address to the same number that
INET_ATON() is converting it to? I know about ip2long() but in the PHP docs it doesn't convert
right unles you use the printf("%u...) function.
Thanks!