criffoh at gmail dot com is right. Before you check domain, you must convert to ascii with idn_to_ascii function:
http://us2.php.net/manual/en/function.idn-to-ascii.php .
var_dump(checkdnsrr('ñandu.cl', 'A')); // returns false
var_dump(checkdnsrr(idn_to_ascii('ñandu.cl'), 'A')); // return truecheckdnsrr
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
checkdnsrr
Референца за `function.checkdnsrr.php` со подобрена типографија и навигација.
checkdnsrr
(PHP 4, PHP 5, PHP 7, PHP 8)
checkdnsrr — Проверете DNS записи што одговараат на дадено име на хост или IP адреса на Интернет
= NULL
Пребарува DNS за записи од тип type
што одговараат на hostname.
Параметри
hostname-
hostnameможе да биде IP адреса во нотација со точки или име на хост. type-
typeможе да биде било кој од: A, MX, NS, SOA, PTR, CNAME, AAAA, A6, SRV, NAPTR, TXT или ANY.
Вратени вредности
Патеката до PHP скриптата што треба да се провери. true ако се пронајдат записи; враќа false ако не се пронајдат записи или ако се случи грешка.
Белешки
Забелешка:
За компатибилност со Windows пред да се имплементира ова, тогаш обидете се со Инсталирање пакети class » Net_DNS.
Види Исто така
- dns_get_record() - Преземете ги ресурсните записи на DNS поврзани со име на хост
- getmxrr() - Добијте MX записи што одговараат на дадено име на Интернет хост
- gethostbyaddr() - Добијте го името на Интернет хост што одговара на дадена IP адреса
- gethostbyname() - Добијте ја IPv4 адресата што одговара на дадено име на Интернет домаќин
- gethostbynamel() - Добијте листа на IPv4 адреси што одговараат на дадено име на Интернет домаќин
- прирачникот named(8)
Белешки од корисници 3 белешки
Important Warning:
You need to add a dot to the end of the host name to make a fully qualified domain name.
To see why, try executing the following pieces of code:
$d1="gmail.con";
$d2="gmail.con.";
$r1=checkdnsrr($d1, "MX");
$r2=checkdnsrr($d2, "MX");
var_dump($r1);
var_dump($r2);
You will see that without the dot it claims that the domain "gmail.con" is valid.
Note that if you time the "checkdnsrr()" calls you will also see it takes longer without the dot because it treats it as a relative domain and does several tries based on the host name it is running on.
NB: in case you're interested, being treated as a relative domain explains what is happening. If your host is "example.com" the relative domain will eventually resolve to "gmail.con.com." which can be looked up, hence it wrongly claims "gmail.con" existsI always think you should state the blindingly obvious.
A function that contains checkdnsrr will return false without an internet connection.
So in a production environment you need an active internet connection to return a true result with a valid email address.