Hàm dns_get_record()
trong ngôn ngữ lập trình PHP đóng vai trò quan trọng trong việc thực hiện các thao tác liên quan đến DNS (Domain Name System). Chức năng chính của hàm này là truy vấn thông tin DNS cho một tên miền cụ thể và trả về một mảng chứa các bản ghi DNS liên quan. Các bản ghi này có thể bao gồm địa chỉ IP, bản ghi MX (Mail Exchange), bản ghi NS (Name Server) và nhiều thông tin khác. Hãy cùng Vietnix tham khảo thêm về hàm dns_get_record()
trong PHP qua bài viết sau đây.
Hàm dns_get_record() là gì?
Hàm dns_get_record()
là một hàm có sẵn trong PHP, được dùng để trả về các bản ghi tài nguyên DNS cho tên máy chủ Internet được chỉ định. Hàm này mở ra nhiều khả năng trong việc xử lý thông tin liên quan đến tên miền trong ứng dụng PHP, như kiểm tra tính khả dụng của một tên miền, xác định địa chỉ IP của một server, hoặc thậm chí là kiểm tra các bản ghi liên quan đến email.

Hàm dns_get_record()
giúp các nhà phát triển tương tác với hệ thống DNS một cách linh hoạt và thuận tiện, cung cấp thông tin quan trọng để quản lý và tối ưu hóa các kết nối mạng trong ứng dụng PHP của họ.
Cú pháp | dns_get_record($host, $type, $authoritative, $additional, $raw); |
Tham số | Hàm này chấp nhận năm tham số như đã đề cập ở trên và được mô tả bên dưới: – $host – Đây là tham số bắt buộc. Nó chỉ định tên máy chủ có resource record DNS được tìm thấy. – $type – Đây là một tham số tùy chọn. Nó chỉ định kiểu record DNS cần tìm kiếm. Các giá trị có thể có như sau: 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 (mặc định) – $authoritative – Đây là tham số tùy chọn. Được chuyển qua tham chiếu và sẽ được điền vào Resource Record cho Authoritative Name Servers nếu có thiết lập. – $additional – Đây là một tham số tùy chọn. Được chuyển qua tham chiếu, điều này sẽ được điền vào bất kỳ Record bổ sung nào nếu được thiết lập. – $raw – Đây là tham số tùy chọn. Một tham số Boolean. Nếu được đặt thành TRUE, thay vì lặp từng loại, nó chỉ truy vấn loại được yêu cầu trước khi nhận nội dung thông tin. FALSE là giá trị mặc định |
Giá trị trả về | Trả về một mảng các mảng kết hợp, FALSE nếu thất bại. Mỗi mảng chứa các khóa sau (ít nhất): – host: Tên máy chủ – class: Hàm này chỉ trả về các record lớp Internet nên luôn trả về IN – type: Loại bản ghi – record – ttl: Time to live” còn lại cho bản record này (được tính bằng ttl ban đầu trừ đi khoảng thời gian đã trôi qua kể từ khi máy chủ được truy vấn) |
Ví dụ minh hoạ hàm dns_get_record()
<?php
print_r(dns_get_record("vietnix.vn", DNS_MX));
?>
Output như sau:
Array ( [0] => Array ( [host] => vietnix.vn [class] => IN [ttl] => 12223 [type] => MX [pri] => 5 [target] => alt2.aspmx.l.google.com.vietnix.vn ) [1] => Array ( [host] => vietnix.vn [class] => IN [ttl] => 12223 [type] => MX [pri] => 10 [target] => aspmx3.googlemail.com.vietnix.vn ) [2] => Array ( [host] => vietnix.vn [class] => IN [ttl] => 12223 [type] => MX [pri] => 1 [target] => aspmx.l.google.com.vietnix.vn ) [3] => Array ( [host] => vietnix.vn [class] => IN [ttl] => 12223 [type] => MX [pri] => 5 [target] => alt1.aspmx.l.google.com ) [4] => Array ( [host] => vietnix.vn [class] => IN [ttl] => 12223 [type] => MX [pri] => 10 [target] => aspmx2.googlemail.com.vietnix.vn ) )
- Ở ví dụ khác, kết quả trả về theo hệ thống:
<?php
$res=dns_get_record("vietnix.vn", DNS_MX);
foreach($res as $ar){
foreach($ar as $key=>$val){
echo $key.":".$val."</br>";
}
echo "</br>";
}
?>
Dưới đây là hình ảnh kết quả khi truyền vào biến:

- Trong trường hợp Tất cả giá trị có thể có được của $type:
<?php
$domain="vietnix.vn";
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 như sau:

Dịch vụ VPS Vietnix – Giải pháp máy ảo tối ưu cho hiệu suất và bảo mật
Vietnix là một trong những đơn vị hàng đầu trong lĩnh vực server VPS Việt Nam. Với hơn 12 hoạt động và phục vụ hơn 80.000 khách hàng, Vietnix không ngừng cải tiến, mang đến giải pháp hạ tầng mạnh mẽ, ổn định và bảo mật cao, giúp doanh nghiệp tối ưu chi phí vận hành và nâng cao hiệu suất làm việc. Đặc biệt, dịch vụ VPS của Vietnix được thiết kế để đáp ứng nhu cầu đa dạng từ cá nhân, doanh nghiệp vừa và nhỏ đến các tổ chức lớn, mang lại trải nghiệm sử dụng tối ưu với tốc độ và độ tin cậy vượt trội.
Nổi bật trong đó là VPS SSD, một giải pháp lý tưởng mang lại hiệu suất mạnh mẽ cùng khả năng vận hành ổn định, đáp ứng mọi yêu cầu sử dụng. Hệ thống mạng mạnh mẽ với băng thông 200 Mbps trong nước và 20 Mbps quốc tế mang đến kết nối ổn định. Ngoài ra, khách hàng có thể dễ dàng quản lý máy chủ qua giao diện Portal đa năng, thực hiện thao tác Start/Stop/Reset VPS, truy cập noVNC Console, sao lưu và nâng cấp nhanh chóng. Bên cạnh đó, dịch vụ còn đạt chứng nhận ISO 27001:2022 và ISO 9001:2015, khẳng định chất lượng hàng đầu.
Thông tin liên hệ:
- Hotline: 18001093
- Email: sales@vietnix.com.vn
- Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, Thành Phố Hồ Chí Minh.
- Website: https://vietnix.vn/
Vietnix hy vọng nội dung bài viết trên đã giúp bạn hiểu rõ hơn về hàm dns_get_record()
trong PHP. Ngoài ra, bạn cũng có thể tham khảo thêm các bài viết khác như cách cài đặt XAMPP trên Windows hoặc tổng quan về cú pháp cơ bản trong PHP tại vietnix.vn để hiểu hơn về lập trình, chúc bạn thành công!
Mọi người cũng xem