Как насчет inet_ntop()
? Затем вместо прерывающих вещей в целые числа, Вы просто используете varbinary(16)
для хранения его.
PHP.net расширение Фильтра содержит некоторые константы для соответствия IPv4 и адресам IPv6, которые могли бы быть полезны для проверки адреса. Я не видел утилит преобразования все же.
Вы также можете хранить адрес в двоичном дворе (16) в MySQL, так что вы должны Имейте возможность выводить его в двоичном от IPv6Tolong ().
Это действительно то, что нужно, чтобы он был добавлен в PHP, особенно когда многие веб-серверы с поддержкой IPv6 с поддержкой :: FFFF: 1.2.3.4 в качестве клиента IP и несовместимо с IP2Long и сломают много всего.