Skip to content
Related Articles

Related Articles

PHP | dns_get_record() function
  • Last Updated : 29 Aug, 2019

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_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 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
print_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: Systemetic Output




<?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
$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

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up
Recommended Articles
Page :