当前位置: 首页>>代码示例>>用法及示例精选>>正文


PHP dns_get_record()用法及代码示例

dns_get_record()函数是PHP中的内置函数,它返回指定Internet主机名的DNS资源记录。

用法:

dns_get_record($host, $type, $authoritative, $additional, $raw);

参数:该函数接受上述和以下所述的五个参数:


  • $host:必填参数。它指定要查找其DNS资源记录的主机名。
  • $type:这是一个可选参数。它指定要搜索的DNS记录的类型。可能的值为
    • DNS_A
    • DNS_CNAME
    • DNS_HINFO
    • DNS_CAA
    • DNS_MX
    • DNS_NS
    • DNS_PTR
    • DNS_SOA
    • DNS_TXT
    • DNS_AAAA
    • DNS_SRV
    • DNS_NAPTR
    • DNS_A6
    • DNS_ALL
    • DNS_ANY(默认)
  • $authoritative:它是一个可选参数。它通过引用传递,并且将设置权威名称服务器的资源记录(如果已设置)。
  • $additional:它是一个可选参数。它通过引用传递,如果设置了任何附加记录,它将被填充。
  • $raw:它是一个可选参数。布尔参数。如果设置为TRUE,则在获取信息之前,不查询type-by-type,而是仅查询所请求的类型。 FALSE是默认值。

返回值:

  • 它返回一个关联数组的数组,失败则返回FALSE。每个数组包含以下键(至少):
    • 主办:主机名
    • 类:此函数仅返回Internet类记录,因此始终返回IN
    • 类型:记录类型
    • ttl:该记录剩余的“Time To Live”(以原始ttl减去
      自查询服务器以来经过的时间长度)

注意:此功能可用于PHP 5.0.0和更高版本。

范例1:

<?php 
print_r(dns_get_record("geeksforgeeks.org", DNS_MX)); 
?>

输出:

Array ( [0] => Array ( [host] => geeksforgeeks.org [class] => IN [ttl] => 299 [type] => MX [pri] => 1 [target] => aspmx.l.google.com ) [1] => Array ( [host] => geeksforgeeks.org [class] => IN [ttl] => 299 [type] => MX [pri] => 10 [target] => alt3.aspmx.l.google.com ) [2] => Array ( [host] => geeksforgeeks.org [class] => IN [ttl] => 299 [type] => MX [pri] => 10 [target] => alt4.aspmx.l.google.com ) [3] => Array ( [host] => geeksforgeeks.org [class] => IN [ttl] => 299 [type] => MX [pri] => 5 [target] => alt1.aspmx.l.google.com ) [4] => Array ( [host] => geeksforgeeks.org [class] => IN [ttl] => 299 [type] => MX [pri] => 5 [target] => alt2.aspmx.l.google.com ) )

范例2:系统输出

<?php 
$res=dns_get_record("geeksforgeeks.org", DNS_MX); 
foreach($res as $ar){ 
  
    foreach($ar as $key=>$val){ 
            echo $key.":".$val."</br>"; 
    } 
    echo "</br>"; 
} 
  
?>

输出:

范例3:$type的所有可能值

<?php 
$domain="geeksforgeeks.org"; 
single_type_dns_get_record($domain, DNS_A); 
single_type_dns_get_record($domain, DNS_CNAME); 
single_type_dns_get_record($domain, DNS_HINFO); 
single_type_dns_get_record($domain, DNS_CAA); 
single_type_dns_get_record($domain, DNS_MX); 
single_type_dns_get_record($domain, DNS_NS); 
single_type_dns_get_record($domain, DNS_PTR); 
single_type_dns_get_record($domain, DNS_SOA); 
single_type_dns_get_record($domain, DNS_TXT); 
single_type_dns_get_record($domain, DNS_AAAA); 
single_type_dns_get_record($domain, DNS_SRV); 
single_type_dns_get_record($domain, DNS_NAPTR); 
single_type_dns_get_record($domain, DNS_A6); 
single_type_dns_get_record($domain, DNS_ALL); 
single_type_dns_get_record($domain, DNS_ANY); 
  
function single_type_dns_get_record($domain, $type){ 
    echo "-------------<br>".$type."<br>-------------<br>"; 
    $res=dns_get_record($domain, $type); 
    foreach($res as $ar){ 
        foreach($ar as $key=>$val){ 
                echo $key.":".$val."</br>"; 
        } 
        echo "</br>"; 
    } 
} 
  
?>

输出:

参考: https://www.php.net/manual/en/function.dns-get-record.php



相关用法

注:本文由纯净天空筛选整理自gekcho大神的英文原创作品 PHP | dns_get_record() function。非经特殊声明,原始代码版权归原作者所有,本译文的传播和使用请遵循“署名-相同方式共享 4.0 国际 (CC BY-SA 4.0)”协议。