PHP8.1の新しいDNS解決機能

PHPz
PHPzオリジナル
2023-07-08 19:07:541018ブラウズ

PHP8.1 の新しい DNS 解決機能

インターネットの急速な発展に伴い、DNS (ドメイン ネーム システム) 解決は Web 開発における一般的な操作の 1 つになりました。 PHP8.1 バージョンでは、新しい DNS 解決関数セットが導入され、開発者は DNS 解決操作をより便利に実行できるようになります。この記事では、PHP8.1 の新しい DNS 解決機能を紹介し、読者がこれらの機能をよりよく理解して使用できるように、いくつかのコード例を添付します。

  1. dns_ai_getaddrinfo()

dns_ai_getaddrinfo() 関数は、ドメイン名に基づいて IP アドレス情報を取得するために使用されます。これは次のように使用されます。

<?php
$hostname = "www.example.com";
$options = [
    'dns' => '8.8.8.8',
    'context' => null,
    'timeout' => 3,
    'hints' => 0
];

$result = dns_ai_getaddrinfo($hostname, $options);
if ($result !== false) {
    foreach ($result as $r) {
        echo $r['host'], ": ", $r['type'], " - ", $r['addr'], "
";
    }
} else {
    echo "Failed to resolve IP address for $hostname
";
}
?>

上記のコードでは、解決するドメイン名と、DNS サーバー アドレス、コンテキスト、タイムアウト、追加の解決プロンプトなどのオプションのセットを渡します。解析が成功した場合、関数は複数の IP アドレス情報を含む配列を返しますが、そうでない場合は false を返します。

  1. dns_ai_gethostbyaddr()

dns_ai_gethostbyaddr() 関数は、IP アドレスに基づいてホスト名を取得するために使用されます。これは次のように使用されます。

<?php
$ip = "192.0.2.1";
$options = [
    'dns' => '8.8.8.8',
    'context' => null,
    'timeout' => 3,
    'hints' => 0
];

$result = dns_ai_gethostbyaddr($ip, $options);
if ($result !== false) {
    echo "Hostname for $ip: $result
";
} else {
    echo "Failed to resolve hostname for $ip
";
}
?>

上記のコードでは、解決する IP アドレスと、DNS サーバー アドレス、コンテキスト、タイムアウト、追加の解決プロンプトなどのオプションのセットを渡します。解析が成功した場合、関数はホスト名である文字列を返しますが、それ以外の場合は false を返します。

  1. dns_ai_getaddrbyaddr()

dns_ai_getaddrbyaddr() 関数は、dns_ai_gethostbyaddr() 関数の逆で、ホスト名に基づいて IP アドレスを取得するために使用されます。これは次のように使用されます。

<?php
$hostname = "www.example.com";
$options = [
    'dns' => '8.8.8.8',
    'context' => null,
    'timeout' => 3,
    'hints' => 0
];

$result = dns_ai_getaddrbyaddr($hostname, $options);
if ($result !== false) {
    echo "IP address for $hostname: $result
";
} else {
    echo "Failed to resolve IP address for $hostname
";
}
?>

上記のコードでは、解決するホスト名と、DNS サーバー アドレス、コンテキスト、タイムアウト、追加の解決プロンプトなどのオプションのセットを渡します。解析が成功した場合、関数は IP アドレスである文字列を返しますが、それ以外の場合は false を返します。

概要:

PHP8.1 の新しい DNS 解決機能は、より強力な解決ツールを開発者に提供し、ドメイン名と IP アドレスの処理を容易にします。 dns_ai_getaddrinfo() 関数を通じてドメイン名に基づいて IP アドレス情報を取得し、 dns_ai_gethostbyaddr() 関数を通じて IP アドレスに基づいてホスト名を取得し、 dns_ai_getaddrbyaddr() 関数を通じてホスト名に基づいて IP アドレスを取得できます。 。これらの機能により、DNS 解決操作を簡単に行うことができ、Web 開発の利便性が向上します。

これらの関数は PHP8.1 以降でのみ使用できることに注意してください。まだ古いバージョンの PHP を使用している場合は、これらの新機能による利便性を享受するために、できるだけ早く PHP8.1 にアップグレードすることをお勧めします。

以上がPHP8.1の新しいDNS解決機能の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。