Совместим ли вывод INET6_ATON() MySQL с функцией inet_ntop() PHP?Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Совместим ли вывод INET6_ATON() MySQL с функцией inet_ntop() PHP?

Сообщение Anonymous »

INET6_ATON MySQL преобразует адрес ipv4 или ipv6 в двоичное представление. Предполагается, что PHP inet_ntop() считывает двоичное представление адреса ipv4 или ipv6 и преобразует его в удобочитаемую форму. Но в старом комментарии на php.net говорится, что они несовместимы:
https://www.php.net/manual/en/function. ... php#117398
И PHP, и MySQL исчезли. прошло несколько итераций с момента этого комментария 6 лет назад, поэтому я не знаю, сохраняется ли эта несовместимость (или она вообще когда-либо присутствовала).
Я не знаю, как копировать двоичные данные напрямую из MySQL в PHP, поэтому сначала я перевел двоичный файл в шестнадцатеричный. Вот что я сделал на данный момент:

Код: Выделить всё

SELECT HEX(INET6_ATON('::1')); # gives 00000000000000000000000000000001
Я поместил результат этого в PHP'sinet_ntop():

Код: Выделить всё

var_dump(inet_ntop(hex2bin('00000000000000000000000000000001'))); # gives ::1
Похоже, что это работает, но комментарий все еще беспокоит меня из-за отсутствия у меня знаний о том, как проверить это без предварительного преобразования шестнадцатеричных чисел, и из-за незнания IP-адресов. >
Может ли PHP всегда успешно запускать inet_ntop() на выходе INET6_ATON() MySQL?

Подробнее здесь: https://stackoverflow.com/questions/701 ... p-function
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»