2009-09-06 6 views
4

Lorsque j'utilise dns_get_record dans un script php pour obtenir une liste d'enregistrements DNS pour un domaine, une liste d'enregistrements est renvoyée.php dns enregistrements

Mais si je lance à nouveau le script, il ne retourne pas tous les mêmes résultats (il retourne simplement les serveurs de noms) puis, si je le lance à nouveau cela fonctionne, etc.

C'est le code que je suis using:

$result = dns_get_record("php.net"); 
print_r($result); 

Existe-t-il une meilleure fonction à utiliser ou une manière plus fiable d'interroger les enregistrements DNS?

NE FONCTIONNE PAS:

Array ([0] => Array ([hôte] => php.net [type] => NS [target] => remote2.easydns.com [classe] => IN [ttl] => 38772) [1] => Tableau ([hôte] => php.net [type] => NS [cible] => ns1.easydns.com [classe] => IN [ttl] => 38772) [2] => Tableau ([hôte] => php.net [type] => NS [cible] => ns2.easydns.com [classe] => IN [ttl] => 38772) [3] => Array ([hôte] => php.net [type] => NS [cible] => remote1.easydns.com [classe] => IN [ttl] => 38772))

TRAVAIL:

Tableau ([0] => Tableau ([hôte] => php.net [type] => M X [pri] => 5 [cible] => osu1.php.net [classe] => IN [ttl] => 72984) [1] => tableau ([hôte] => php.net [type] => MX [pri] => 15 [cible] => smtp.osuosl.org [classe] => IN [ttl] => 72984) [2] => tableau ([hôte] => php.net [type] => NS [cible] => remote2.easydns.com [classe] => IN [ttl] => 30054) [3] => tableau ([hôte] => php.net [type] => NS [target] => ns1.easydns.com [classe] => IN [ttl] => 30054) [4] => Tableau ([hôte] => php.net [type] => NS [target] => ns2.easydns.com [ class] => IN [ttl] => 30054) [5] => Tableau ([hôte] => php.net [type] => NS [cible] => remote1.easydns.com [classe] => IN [ ttl] => 30054))

Répondre

7

Ajout DNS_ALL à l'appel de fonction devrait fonctionner

$result = dns_get_record("php.net",DNS_ALL); 
print_r($result); 

pour assurez-vous de rassembler tous les différents enregistrements.