PHP | dns_get_record() function

07 Aug, 2021
The dns_get_record() function is an inbuilt function in PHP which returns DNS resource records for the specified internet hostname.
Syntax: 
dns_get_record($host, $type, $authoritative, $additional, $raw);
Parameter: This function accepts five parameters as mentioned above and described below:  
$host: It is a required parameter. It specifies hostname whose DNS resource records to be found.
$type: It is an optional parameter. It specifies the type of DNS record to be searched. Possible values are DNS_ADNS_CNAMEDNS_HINFODNS_CAADNS_MXDNS_NSDNS_PTRDNS_SOADNS_TXTDNS_AAAADNS_SRVDNS_NAPTRDNS_A6DNS_ALLDNS_ANY (default)
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 (default)
$authoritative: It is an optional parameter. It is Passed by reference and, it will be populated with Resource Records for the Authoritative Name Servers if set.
$additional: It is an optional parameter. It is Passed by reference, it will be populated with any Additional Records if set.
$raw: It is an optional parameter. A Boolean parameter. If set to TRUE, Instead of looping type-by-type it queries only the requested type before getting the info stuff. FALSE is the default value.
Return Value:  
It returns an array of associative arrays, FALSE on failure. Each array contains the following keys (atleast): host: The hostnameclass: This function only returns Internet class records so always return INtype: Type of the recordttl: “Time To Live” remaining for this record ( calculated as original ttl minus the length of time passed since the server was queried)
host: The hostname
class: This function only returns Internet class records so always return IN
type: Type of the record
ttl: “Time To Live” remaining for this record ( calculated as original ttl minus the length of time passed since the server was queried)
Note: This function is available for PHP 5.0.0 and newer version.
Example 1:  
PHP
<?phpprint_r(dns_get_record("geeksforgeeks.org", DNS_MX));?>
Output: 
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 ) ) 
Example 2: Systematic Output  
PHP
<?php$res=dns_get_record("geeksforgeeks.org", DNS_MX);foreach($res as $ar){     foreach($ar as $key=>$val){            echo $key.":".$val."</br>";    }    echo "</br>";} ?>
Output: 
Example 3: all possible value of $type 
PHP
<?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>";    }} ?>
Output: 
Reference: https://www.php.net/manual/en/function.dns-get-record.php 
ruhelaa48
PHP-function
PHP
PHP Programs
Web Technologies
PHP
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
How to execute PHP code using command line ?
How to Insert Form Data into Database using PHP ?
PHP in_array() Function
How to delete an array element based on key in PHP?
How to convert array to string in PHP ?
How to execute PHP code using command line ?
How to Insert Form Data into Database using PHP ?
How to delete an array element based on key in PHP?
How to convert array to string in PHP ?
How to pop an alert message box using PHP ?