8.79 Réseau 
8 Référence des fonctions 
 Manuel PHP 
 . Introduction . Pré-requis . Installation . Configuration à l'exécution . Types de ressources . Constantes pré-définies . checkdnsrr . closelog . debugger_off . debugger_on . define_syslog_variables . dns_check_record . dns_get_mx ->dns_get_record . fsockopen . gethostbyaddr . gethostbyname . gethostbynamel . getmxrr . getprotobyname . getprotobynumber . getservbyname . getservbyport . inet_ntop . inet_pton . ip2long . long2ip . openlog . pfsockopen . socket_get_status . socket_set_blocking . socket_set_timeout . syslog
 
  | 
 
  8.79.14 dns_get_record()
      Lit les données DNS associées à un hôte
     [ Exemples avec dns_get_record ]   PHP 5 
array
 dns_get_record (
string
 
hostname
 ,
int
 
type
 ,
array
 
authns
 ,
array
 
addtl
 )
 | Note |  | 
 dns_get_record   n'est pas implémentée 
        sur les plates-formes Windows ni sur les systèmes *BSD (actuellement). 
        Utilisez la classe
         PEAR Net_DNS .
        
 |   
dns_get_record   retourne un tableau associatif, contenant
       
au minimum
  les index suivants :
       
 
| Attribut | 
Signification | 
 
| 
host
 | 
           L'enregistrement de l'espace de nom DNS qui est décrit par les autres
           données.
           | 
 
| 
class
 | 
dns_get_record
 ne retourne que la classe d'enregistrement
           Internet et, en tant que tel, cet index vaudra toujours 
IN
.
           | 
 
| 
type
 | 
           Chaîne de caractère contenant le type d'enregistrement. Des attributs 
           supplémentaires seront aussi disponibles dans le tableau suivant la
           valeur de ce type. Reportez-vous à la table ci-dessous.
           | 
 
| 
ttl
 | 
           Time To Live : Durée avant expiration de l'enregistrement. Cette valeur
           est 
différente
 de la durée avant expiration originale,
           mais plutôt cette valeur moins la durée depuis la dernière interrogation
           du serveur DNS responsable.
           | 
 
 
hostname
  doit être un nom d'hôte DNS valide, comme
       
www.example.com
 . Des résolutions inversées peuvent
      être faites avec la notation in-addr.arpa, mais la fonction 
       
gethostbyaddr
  est plus efficace pour faire des
      résolutions inverses.
      
      Par défaut,  
dns_get_record
  va rechercher toutes les
      ressources associées à  
hostname
 . Pour limiter la
      taille de la requête, le paramètre optionnel  
type
 
      peut prendre l'une des valeurs constantes suivantes : 
       
DNS_A
 ,  
DNS_CNAME
 , 
       
DNS_HINFO
 ,  
DNS_MX
 , 
       
DNS_NS
 ,  
DNS_PTR
 , 
       
DNS_SOA
 ,  
DNS_TXT
 , 
       
DNS_AAAA
 ,  
DNS_SRV
 ,
       
DNS_NAPTR
 ,  
DNS_A6
 ,
       
DNS_ALL
  ou  
DNS_ANY
 .
      Par défaut, il vaut  
DNS_ANY
 .  
       
 | Note |  | 
 
        A cause des performances excentriques de la bibliothèque libresolv,
        suivant les plates-formes,  
DNS_ANY
  ne retournera
        pas toujours tous les enregistrements, et l'option  
DNS_ALL
 ,
        bien que plus lente, le fera de manière plus sûre.
        
 |   
       Les paramètres optionnels  
authns
  et 
        
addtl
 
       sont passés par référence et, si fournis, ils recevront les enregistrements
       de ressources pour les  
Authoritative Name Servers
 ,
       et tous les  
Additional Records
  respectivement.
       Voir l'exemple ci-dessous.
      
 
| Type | 
Valeur supplémentaire | 
 
| 
A
 | 
ip
 : une adresse IP v4, au format numérique.
           | 
 
| 
MX
 | 
pri
 : priorité du serveur de mail.
           Les nombres faibles indiquent une priorité importante.
           
target
 : FQDN du serveur de mail.
           Voir aussi 
dns_get_mx
.
           | 
 
| 
CNAME
 | 
target
 : FQDN du nom de l'espace DNS qui sert
           d'alias à cet enregistrement.
           | 
 
| 
NS
 | 
target
 : FQDN du nom de serveur qui est responsable
           de ce nom de domaine.
           | 
 
| 
PTR
 | 
target
 : nom de domaine vers lequel cet enregistrement
           pointe.
           | 
 
| 
TXT
 | 
txt
 : chaîne de caractères arbitrairement associée
           à cet enregistrement.
           | 
 
| 
HINFO
 | 
cpu
 : numéro IANA désignant le processeur de la machine
           référencée par cet enregistrement.
           
os
 : numéro IANA désignant le système d'exploitation
           de la machine référencée par cet enregistrement.
           Voir Operating System
           Names pour connaître la signification
           de ces valeurs.
           | 
 
| 
SOA
 | 
mname
 : FQDN de la source de cet enregistrement.
           
rname
 : adresse email du contact administratif de
           ce domaine.
           
serial
 : numéro de série du nom de domaine.
           
refresh
 : intervalle de rafraîchissement (en secondes)
           que les serveurs de noms secondaires doivent utiliser pour mettre
           en cache ce nom de domaine.
           
retry
 : durée (en secondes) d'attente après un rafraîchissement
           échoué, avant de faire une seconde tentative.
           
expire
 : durée maximale (en secondes) de conservation
           d'une copie des données de zone sans pouvoir faire de rafraichissement.
           
minimum-ttl
 : durée minimale (en secondes) pendant laquelle un
           client conserve des données de zone avant qu'il ne soumette une nouvelle
           requête. Cette configuration peut être annulée par d'autres enregistrements.
           | 
 
| 
AAAA
 | 
ipv6
 : adresse IPv6
           | 
 
| 
A6
(PHP >= 5.1.0) | 
masklen
 : longueur (en octets) à hériter depuis
           la cible spécifiée par 
chain
.
           
ipv6
 : adresse pour que cet enregistrement spécifique fusionne
           avec 
chain
.
           
chain
 : l'enregistrement parent à fusionner avec les données
           
ipv6
.
           | 
 
| 
SRV
 | 
pri
 : (priorité) les priorités les plus basses doivent
           être utilisées en premier.
           
weight
 : classement pour choisir aléatoirement parmi les 
           serveurs 
targets
.
           
target
 et 
port
 : nom d'hôte et
           port où le service est disponible.
           Pour plus d'informations, voir : RFC 2782 | 
 
| 
NAPTR
 | 
order
 et 
pref
 : équivalent à
           
pri
 et 
weight
 ci-dessus.
           
flags
, 
services
, 
regex
,
           et 
replacement
 : paramètres tels que définis
           dans la RFC 2915.
           | 
 
 
 | Note |  | 
 
        En terme de standards DNS, les adresses email sont données au format
        utilisateur.hote (par exemple : webmestre.example.com au contraire du
        format webmestre@example.com). N'oubliez pas de vérifier cette adresse
        et de la modifier si nécessaire avant de la passer à la fonction
         
mail
 .
        
 |   
| Exemple avec dns_get_record |  
<?php $result = dns_get_record("php.net"); print_r($result); ?>
 
 |   
      Comme il est très courant de rechercher l'IP d'un serveur,
      une fois que le champ MX a été résolu,  
dns_get_record
 
      retournera aussi un tableau dans le paramètre  
addtl
  
      qui contiendra les enregistrements associés.  
authns
 
      est aussi retourné en contenant une liste des serveurs autorité.
      
| Exemple avec dns_get_record et DNS_ANY |  
<?php /* Demande tous ("ANY") les enregistrements pour php.net,     puis crée les tableaus $authns et $addtl    contenant une liste des noms de serveurs, et tous    les enregistrements qui vont avec     */ $result = dns_get_record("php.net",DNS_ANY,$authns,$addtl); echo 'Résultat = '; print_r($result); echo 'Authorité NS = '; print_r($authns); echo 'Additionnel = '; print_r($addtl); ?>
 
 |   
      Voir aussi
       
dns_get_mx
  et
       
dns_check_record
 .
      
 |