PHP
PHP

Trang chủ

Thông tin chi tiết về hàm dns_get_record() trong PHP

PHP, viết tắt của Hypertext Preprocessor, là ngôn ngữ lập trình script phía máy chủ được thiết kế đặc biệt cho phát triển web. Điểm nổi bật của PHP so với các ngôn ngữ khác là khả năng tương thích với nhiều loại cơ sở dữ liệu và chạy mượt mà trên các máy chủ web. Tại Vietnix, chúng tôi không chỉ giới thiệu những khái niệm cơ bản về PHP mà còn cung cấp các ví dụ thực tế giúp bạn dễ dàng hiểu và áp dụng PHP vào việc phát triển website. Bên cạnh đó, Vietnix cũng thường xuyên cập nhật các bài viết mới về tính năng, mẹo và thủ thuật lập trình, giúp bạn giải quyết các thách thức phức tạp, từ đó không ngừng nâng cao và hoàn thiện kỹ năng lập trình của mình.
html
CSS
javascript
sql
python
php
c
c++
bootstrap
react
mysql
reactjs
vuejs
Javascript Tutorials
18/06/2024
5 phút đọc
Theo dõi Vietnix trên

Thông tin chi tiết về hàm dns_get_record() trong PHP

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() trong PHP 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 dns_get_record() trong PHP 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 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ápdns_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)
Hàm dns_get_record() trong PHP

Lưu ý: Chức năng này có sẵn cho PHP 5.0.0 và phiên bản mới hơ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:

Kết quả khi truyền vào biến $type tất cả giá trị có thể có
Kết quả khi truyền vào biến $type giá trị DNS_MX
  • 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:

Kết quả khi truyền vào biến $type tất cả giá trị có thể có
Kết quả khi truyền vào biến $type tất cả giá trị có thể có

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!

Cao Lê Viết Tiến

PHP Leader
tại
Vietnix

Kết nối với mình qua

Icon Quote
Icon Quote

Học lập trình online cùng vietnix

Học lập trình online cùng Vietnix

PHPXem thêmThu gọn