Представление IP-адреса в базе данных Maxmind Geolitecity - PullRequest
1 голос
/ 07 июля 2011

У меня есть база данных Maxmind Geolitecity в базе данных Mysql.

Я мог видеть такие поля, как startIpNum и endIpNum.

Значения для этих полей следующие: 16777216 для startIpNum и 16777471 для endIpNum`.

Мой ip - 115.184.126.186, как я могу конвертировать мой ip в соответствие с startIpNum или endIpNum?

Ответы [ 4 ]

2 голосов
/ 07 июля 2011

Либо используйте inet_aton () в соответствии с предложением lmz, либо делайте это в php, используя:

http://php.net/manual/en/function.ip2long.php

Обратите внимание, что эта функция возвращает целое число со знаком, то есть в диапазоне от - 2 147 483 648 до2147483647, и я думаю, что база данных maxmind geoip использует беззнаковые целые числа (0-4,294,967,295?), Поэтому вам нужно добавить к ней 2 147 483 647 (2 ^ 31-1)

1 голос
/ 07 июля 2011

Попробуйте функцию inet_aton в MySQL.

0 голосов
/ 04 марта 2013

Попробуйте преобразовать это так -

SELECT INET_ATON("115.184.126.186");

0 голосов
/ 07 июля 2011

попробуйте что-то вроде этого:

<?php 
 $ipadd="115.184.126.186";
 $ips = explode(".",$ipadd);
 $x=($ips[3] + $ips[2] * 256 + $ips[1] * 256 * 256 + $ips[0] * 256 * 256 * 256);
 echo $x;
?>

просто измените это в функцию ..

здесь является результатом кода

...