Làm thế nào để chuyển đổi địa chỉ IP có thể đọc được thành định dạng IPv4 hoặc IPv6 32 bit hoặc 128 bit được đóng gói trong PHP?


Để chuyển đổi địa chỉ IP có thể đọc được thành định dạng IPv4 hoặc IPv6 32 bit hoặc 128 bit được đóng gói trong PHP, chúng ta có thể sử dụng các hàm có sẵn trong PHP như inet_pton()inet_ntop().

Chuyển đổi địa chỉ IP thành định dạng 32 bit IPv4

Để chuyển đổi địa chỉ IP thành định dạng 32 bit IPv4, chúng ta có thể sử dụng hàm inet_pton() như sau:

$ip_address = '192.168.0.1';
$packed_ip = inet_pton($ip_address);

Kết quả trả về sẽ là một chuỗi byte độ dài 4, đại diện cho địa chỉ IP được đóng gói.

Để chuyển đổi địa chỉ IP được đóng gói thành định dạng có thể đọc được, chúng ta có thể sử dụng hàm inet_ntop() như sau:

$unpacked_ip = inet_ntop($packed_ip);

Kết quả trả về sẽ là địa chỉ IP có thể đọc được.

Chuyển đổi địa chỉ IP thành định dạng 128 bit IPv6

Để chuyển đổi địa chỉ IP thành định dạng 128 bit IPv6, chúng ta cũng có thể sử dụng hàm inet_pton() như sau:

$ip_address = '2001:0db8:85a3:0000:0000:8a2e:0370:7334';
$packed_ip = inet_pton($ip_address);

Kết quả trả về sẽ là một chuỗi byte độ dài 16, đại diện cho địa chỉ IP được đóng gói.

Để chuyển đổi địa chỉ IP được đóng gói thành định dạng có thể đọc được, chúng ta cũng có thể sử dụng hàm inet_ntop() như sau:

$unpacked_ip = inet_ntop($packed_ip);

Kết quả trả về sẽ là địa chỉ IP có thể đọc được.



About the author

William Pham is the Admin and primary author of Howto-Code.com. With over 10 years of experience in programming. William Pham is fluent in several programming languages, including Python, PHP, JavaScript, Java, C++.