Posted by Mark on 10/10/08 11:36
Jay Paulson (CE CEN wrote:
> 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!
What database are you using? If you are using PostgreSQL, I would bet there
is a function available or that it would be trivial to write one.
Navigation:
[Reply to this message]
|