在PHP 中處理IPv6 位址:超越IPv4 操作
提供的用於處理IPv6 位址的PHP 程式碼旨在解決原生函數的缺失問題語言之內。它包括將 IPv4 位址轉換為 IPv6、擴充縮寫 IPv6 表示法以及將 IPv6 位址轉換為長整數以供資料庫儲存的函數。
但是,重要的是要考慮用於處理 IPv6 位址的本機 PHP 函數的可用性。 inet_ntop() 函數可以將 IPv6 位址轉換為其二進位表示形式,inet_pton() 可以執行相反的操作。
此外,MySQL 中的 varbinary(16) 資料類型可用於高效儲存 IPv6 位址,從而消除需要手動轉換為長整數。
為了說明,您可以使用inet_ntop() 代替IPv4To6() 函數,如下所示:
<code class="php">$ipv4Address = '192.168.1.100'; $ipv6Address = inet_ntop(inet_pton($ipv4Address));</code>
用於資料庫存儲,使用IPv6ToLong() 函數,您可以使用varbinary( 16) 資料類型直接儲存IPv6 位址的二進位表示形式:
<code class="php">$mysqli = new mysqli('localhost', 'user', 'password', 'database'); $ipv6Address = inet_ntop(inet_pton('::1')); $mysqli->query("INSERT INTO `table` (`ipv6_address`) VALUES ('{$ipv6Address}')");</code>
透過利用本機PHP 函數和適當的資料類型,您可以有效地無需自訂函數即可處理IPv6 位址。
以上是IPv6 位址操作是否需要自訂 PHP 程式碼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!