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
相關用法
- p5.js nfc()用法及代碼示例
- p5.js nfp()用法及代碼示例
- d3.js d3.hcl()用法及代碼示例
- p5.js nfs()用法及代碼示例
- PHP cos( )用法及代碼示例
- PHP sin( )用法及代碼示例
- p5.js nf()用法及代碼示例
- PHP tan( )用法及代碼示例
- PHP pow( )用法及代碼示例
- d3.js d3.map.set()用法及代碼示例
- d3.js d3.set.has()用法及代碼示例
- PHP Ds\Set xor()用法及代碼示例
注:本文由純淨天空篩選整理自gekcho大神的英文原創作品 PHP | dns_get_record() function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。
