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) |
Mọi người cũng xem:
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:
Lời kết
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!