downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

Our source is open

The syntax highlighted source is automatically generated by PHP from the plaintext script. If you're interested in what's behind the several functions we used, you can always take a look at the source of the following files:

Of course, if you want to see the source of this page, we have it available. You can also browse the SVN repository for this website on svn.php.net.

Source of: /manual/fr/function.dns-get-record.php

<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$PARENTS = array();
include_once
dirname(__FILE__) ."/toc/ref.network.inc";
$setup = array (
 
'home' =>
  array (
   
0 => 'index.php',
   
1 => 'PHP Manual',
  ),
 
'head' =>
  array (
   
0 => 'UTF-8',
   
1 => 'fr',
  ),
 
'this' =>
  array (
   
0 => 'function.dns-get-record.php',
   
1 => 'dns_get_record',
  ),
 
'up' =>
  array (
   
0 => 'ref.network.php',
   
1 => 'Fonctions réseaux',
  ),
 
'prev' =>
  array (
   
0 => 'function.dns-get-mx.php',
   
1 => 'dns_get_mx',
  ),
 
'next' =>
  array (
   
0 => 'function.fsockopen.php',
   
1 => 'fsockopen',
  ),
);
$setup["toc"] = $TOC;
$setup["parents"] = $PARENTS;
manual_setup($setup);

manual_header();
?>
<div id="function.dns-get-record" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">dns_get_record</h1>
  <p class="verinfo">(PHP 5)</p><p class="refpurpose"><span class="refname">dns_get_record</span> &mdash; <span class="dc-title">Lit les données DNS associées à un hôte</span></p>

 </div>
 
 <a name="function.dns-get-record.description"></a><div class="refsect1 description">
  <h3 class="title">Description</h3>
  <div class="methodsynopsis dc-description">
   <span class="type">array</span> <span class="methodname"><b>dns_get_record</b></span>
    ( <span class="methodparam"><span class="type">string</span> <tt class="parameter">$hostname</tt></span>
   [, <span class="methodparam"><span class="type">int</span> <tt class="parameter">$type</tt><span class="initializer">= DNS_ANY</span></span>
   [, <span class="methodparam"><span class="type">array</span> <tt class="parameter reference">&amp;$authns</tt></span>
   [, <span class="methodparam"><span class="type">array</span> <tt class="parameter reference">&amp;$addtl</tt></span>
  ]]] )</div>

  <p class="para rdfs-comment">
   Lit les données DNS associées à l&#039;hôte
   <i><tt class="parameter">hostname</tt></i>
.
  </p>
 </div>

 
 <a name="function.dns-get-record.parameters"></a><div class="refsect1 parameters">
  <h3 class="title">Liste de paramètres</h3>
  <p class="para">
   </p><dl>

    <dt class="varlistentry">

     <span class="term"><i><tt class="parameter">hostname</tt></i>
</span>

     </dt><dd class="listitem">

      <p class="para">
       <i><tt class="parameter">hostname</tt></i>
 doit être un nom d&#039;hôte DNS valide, comme
       <i>www.example.com</i>. Des résolutions inversées peuvent
       être faites avec la notation <i>in-addr.arpa</i>, mais la fonction
       <a href="function.gethostbyaddr.php" class="function">gethostbyaddr()</a> est plus efficace pour faire des
       résolutions inverses.
      </p>
      <blockquote><p><b class="note">Note</b>:
      
        En terme de standards DNS, les adresses email sont données au format
        <i>utilisateur.hote</i> (par exemple :
        <i>webmestre.example.com</i> au contraire du
        format <i>webmestre@example.com</i>). N&#039;oubliez pas
        de vérifier cette adresse et de la modifier si nécessaire avant
        de la passer à la fonction <a href="function.mail.php" class="function">mail()</a>.
       <br />
      </p></blockquote>
     </dd>

   
    <dt class="varlistentry">

     <span class="term"><i><tt class="parameter">type</tt></i>
</span>

     </dt><dd class="listitem">

      <p class="para">
       Par défaut, <b>dns_get_record()</b> va rechercher toutes les
       ressources associées à <i><tt class="parameter">hostname</tt></i>
. Pour limiter la
       taille de la requête, le paramètre optionnel <i><tt class="parameter">type</tt></i>

       peut prendre l&#039;une des valeurs constantes suivantes :
       <b><tt class="constant">DNS_A</tt></b>, <b><tt class="constant">DNS_CNAME</tt></b>,
       <b><tt class="constant">DNS_HINFO</tt></b>, <b><tt class="constant">DNS_MX</tt></b>,
       <b><tt class="constant">DNS_NS</tt></b>, <b><tt class="constant">DNS_PTR</tt></b>,
       <b><tt class="constant">DNS_SOA</tt></b>, <b><tt class="constant">DNS_TXT</tt></b>,
       <b><tt class="constant">DNS_AAAA</tt></b>, <b><tt class="constant">DNS_SRV</tt></b>,
       <b><tt class="constant">DNS_NAPTR</tt></b>, <b><tt class="constant">DNS_A6</tt></b>,
       <b><tt class="constant">DNS_ALL</tt></b> ou <b><tt class="constant">DNS_ANY</tt></b>.
       Par défaut, il vaut <em class="emphasis">DNS_ANY</em>.
      </p>
      <blockquote><p><b class="note">Note</b>:
      
        À cause des performances excentriques de la bibliothèque libresolv,
        suivant les plates-formes, <b><tt class="constant">DNS_ANY</tt></b> ne retournera
        pas toujours tous les enregistrements, et l&#039;option <b><tt class="constant">DNS_ALL</tt></b>,
        bien que plus lente, le fera de manière plus sûre.
       <br />
      </p></blockquote>
     </dd>

   
    <dt class="varlistentry">

     <span class="term"><i><tt class="parameter">authns</tt></i>
</span>

     </dt><dd class="listitem">

      <p class="para">
       Passé par référence, et, s&#039;il est fourni, recevra les
       enregistrements de ressources pour les
       <em class="emphasis">Authoritative Name Servers</em>.
      </p>
     </dd>

   
    <dt class="varlistentry">

     <span class="term"><i><tt class="parameter">addtl</tt></i>
</span>

     </dt><dd class="listitem">

      <p class="para">
       Passé par référence, et, s&#039;il est fourni, recevra tous les
       <em class="emphasis">enregistrements supplémentaires</em>.
      </p>
     </dd>

   
   </dl>
<p>
  </p>
 </div>

 
 <a name="function.dns-get-record.returnvalues"></a><div class="refsect1 returnvalues">
  <h3 class="title">Valeurs de retour</h3>
  <p class="para">
    <span class="methodname"><b>dns_get_record</b></span> retourne un tableau associatif, contenant
   <em class="emphasis">au minimum</em> les index suivants :
   </p><table class="doctable table">
    <caption><b>Attributs de base DNS</b></caption>
   
     <thead valign="middle">
      <tr valign="middle">
       <th>Attribut</th>
       <th>Signification</th>
      </tr>

     </thead>

     <tbody valign="middle" class="tbody">
      <tr valign="middle">
       <td align="left">host</td>
       <td align="left">
        L&#039;enregistrement de l&#039;espace de nom DNS qui est décrit par les autres
        données.
       </td>
      </tr>

      <tr valign="middle">
       <td align="left">class</td>
       <td align="left">
        <b>dns_get_record()</b> ne retourne que la classe d&#039;enregistrement
        Internet et, en tant que tel, cet index vaudra toujours <i>IN</i>.
       </td>
      </tr>

      <tr valign="middle">
       <td align="left">type</td>
       <td align="left">
        Chaîne de caractère contenant le type d&#039;enregistrement. Des attributs
        supplémentaires seront aussi disponibles dans le tableau suivant la
        valeur de ce type. Reportez-vous à la table ci-dessous.
       </td>
      </tr>

      <tr valign="middle">
       <td align="left">ttl</td>
       <td align="left">
        <i>&quot;Time To Live&quot;</i> : durée avant expiration de l&#039;enregistrement.
        Cette valeur est <em class="emphasis">différente</em> 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.
       </td>
      </tr>

     </tbody>
   
   </table>
<p>
  </p>
  <p class="para">
   </p><table class="doctable table">
    <caption><b>Autres index disponibles suivant le type DNS</b></caption>
   
     <thead valign="middle">
      <tr valign="middle">
       <th>Type</th>
       <th>Valeur supplémentaire</th>
      </tr>

     </thead>

     <tbody valign="middle" class="tbody">
      <tr valign="middle">
       <td align="left"><i>A</i></td>
       <td align="left">
        <i>ip</i>: une adresse IPv4, au format numérique.
       </td>
      </tr>

      <tr valign="middle">
       <td align="left"><i>MX</i></td>
       <td align="left">
        <i>pri</i> : priorité du serveur de mail.
        Les nombres faibles indiquent une priorité importante.
        <i>target</i> : FQDN du serveur de mail.
        Voir aussi <a href="function.dns-get-mx.php" class="function">dns_get_mx()</a>.
       </td>
      </tr>

      <tr valign="middle">
       <td align="left"><i>CNAME</i></td>
       <td align="left">
        <i>target</i> : FQDN du nom de l&#039;espace DNS qui sert
        d&#039;alias à cet enregistrement.
       </td>
      </tr>

      <tr valign="middle">
       <td align="left"><i>NS</i></td>
       <td align="left">
        <i>target</i> : FQDN du nom de serveur qui est responsable
        de ce nom de domaine.
       </td>
      </tr>

      <tr valign="middle">
       <td align="left"><i>PTR</i></td>
       <td align="left">
        <i>target</i> : nom de domaine vers lequel cet enregistrement
       </td>
      </tr>

      <tr valign="middle">
       <td align="left"><i>TXT</i></td>
       <td align="left">
        <i>txt</i> : chaîne de caractères arbitrairement associée
        à cet enregistrement.
       </td>
      </tr>

      <tr valign="middle">
       <td align="left"><i>HINFO</i></td>
       <td align="left">
        <i>cpu</i> : numéro IANA désignant le processeur de la machine
        référencée par cet enregistrement.
        <i>os</i> : numéro IANA désignant le système d&#039;exploitation
        de la machine référencée par cet enregistrement.
        Voir <a href="http://www.iana.org/assignments/operating-system-names" class="link external">&raquo; <i>Operating System Names</i></a>
        pour connaître la signification de ces valeurs.
       </td>
      </tr>

      <tr valign="middle">
       <td align="left"><i>SOA</i></td>
       <td align="left">
        <i>mname</i> : FQDN de la source de cet enregistrement.
        <i>rname</i> : adresse email du contact administratif de
        ce domaine.
        <i>serial</i> : numéro de série du nom de domaine.
        <i>refresh</i> : intervalle de rafraîchissement (en secondes)
        que les serveurs de noms secondaires doivent utiliser pour mettre
        en cache ce nom de domaine.
        <i>retry</i> : durée (en secondes) d&#039;attente après un rafraîchissement
        échoué, avant de faire une seconde tentative.
        <i>expire</i> : durée maximale (en secondes) de conservation
        d&#039;une copie des données de zone sans pouvoir faire de rafraîchissement.
        <i>minimum-ttl</i> : durée minimale (en secondes) pendant laquelle un
        client conserve des données de zone avant qu&#039;il ne soumette une nouvelle
        requête. Cette configuration peut être annulée par d&#039;autres enregistrements.
       </td>
      </tr>

      <tr valign="middle">
       <td align="left"><i>AAAA</i></td>
       <td align="left">
        <i>ipv6</i>: adresse IPv6
       </td>
      </tr>

      <tr valign="middle">
       <td align="left"><i>A6</i>(PHP &gt;= 5.1.0)</td>
       <td align="left">
        <i>masklen</i> : longueur (en octets) à hériter depuis
        la cible spécifiée par <i><tt class="parameter">chain</tt></i>
.
        <i>ipv6</i> : adresse pour que cet enregistrement spécifique fusionne
        avec <i><tt class="parameter">chain</tt></i>
.
        <i>chain</i> : l&#039;enregistrement parent à fusionner avec les données
        <i><tt class="parameter">ipv6</tt></i>
.
       </td>
      </tr>

      <tr valign="middle">
       <td align="left"><i>SRV</i></td>
       <td align="left">
        <i>pri</i> : (priorité) les priorités les plus basses doivent
        être utilisées en premier.
        <i>weight</i> : classement pour choisir aléatoirement parmi les
        serveurs <i><tt class="parameter">targets</tt></i>
.
        <i>target</i> et <i>port</i> : nom d&#039;hôte et
        port où le service est disponible.
        Pour plus d&#039;informations, voir : <a href="http://www.faqs.org/rfcs/rfc2782" class="link external">&raquo; RFC 2782</a>
       </td>
      </tr>

      <tr valign="middle">
       <td align="left"><i>NAPTR</i></td>
       <td align="left">
        <i>order</i> et <i>pref</i> : équivalent à
        <i><tt class="parameter">pri</tt></i>
 et <i><tt class="parameter">weight</tt></i>
 ci-dessus.
        <i>flags</i>, <i>services</i>, <i>regex</i>,
        et <i>replacement</i> : paramètres tels que définis
        dans la <a href="http://www.faqs.org/rfcs/rfc2915" class="link external">&raquo; RFC 2915</a>.
       </td>
      </tr>

     </tbody>
   
   </table>
<p>
  </p>
 </div>

 
 <a name="function.dns-get-record.changelog"></a><div class="refsect1 changelog">
  <h3 class="title">Historique</h3>
  <p class="para">
   </p><table class="doctable informaltable">
   
     <thead valign="middle">
      <tr valign="middle">
       <th>Version</th>
       <th>Description</th>
      </tr>

     </thead>

     <tbody valign="middle" class="tbody">
      <tr valign="middle">
       <td align="left">5.3.0</td>
       <td align="left">
        Cette fonction est maintenant disponible sous Windows.
       </td>
      </tr>

     </tbody>
   
   </table>
<p>
  </p>
 </div>

 
 <a name="function.dns-get-record.examples"></a><div class="refsect1 examples">
  <h3 class="title">Exemples</h3>
  <p class="para">
   </p><div class="example">
    <p><b>Exemple #1 Exemple avec <b>dns_get_record()</b></b></p>
    <div class="example-contents programlisting">
<div class="phpcode"><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br />$result&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">dns_get_record</span><span style="color: #007700">(</span><span style="color: #DD0000">"php.net"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">print_r</span><span style="color: #007700">(</span><span style="color: #0000BB">$result</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</code></div>
    </div>

    <div class="example-contents para"><p>L&#039;exemple ci-dessus va afficher quelque chose de similaire à :</p></div>
    <div class="example-contents screen">
<div class="cdata"><pre>
Array
(
    [0] =&gt; Array
        (
            [host] =&gt; php.net
            [type] =&gt; MX
            [pri] =&gt; 5
            [target] =&gt; pair2.php.net
            [class] =&gt; IN
            [ttl] =&gt; 6765
        )

    [1] =&gt; Array
        (
            [host] =&gt; php.net
            [type] =&gt; A
            [ip] =&gt; 64.246.30.37
            [class] =&gt; IN
            [ttl] =&gt; 8125
        )

)
</pre></div>
    </div>
   </div><p>
   </p><div class="example">
    <p><b>Exemple #2 Exemple avec <b>dns_get_record()</b> et DNS_ANY</b></p>
    <div class="example-contents para"><p>
     Comme il est très courant de rechercher l&#039;IP d&#039;un serveur,
     une fois que le champ MX a été résolu, <b>dns_get_record()</b>
     retournera aussi un tableau dans le paramètre <i><tt class="parameter">addtl</tt></i>

     qui contiendra les enregistrements associés. <i><tt class="parameter">authns</tt></i>

     est aussi retourné en contenant une liste des serveurs autorité.
    </p></div>
    <div class="example-contents programlisting">
<div class="phpcode"><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br /></span><span style="color: #FF8000">/*&nbsp;Demande&nbsp;tous&nbsp;("ANY")&nbsp;les&nbsp;enregistrements&nbsp;pour&nbsp;php.net,&nbsp;<br />&nbsp;&nbsp;&nbsp;puis&nbsp;crée&nbsp;les&nbsp;tableaus&nbsp;$authns&nbsp;et&nbsp;$addtl<br />&nbsp;&nbsp;&nbsp;contenant&nbsp;une&nbsp;liste&nbsp;des&nbsp;noms&nbsp;de&nbsp;serveurs,&nbsp;et&nbsp;tous<br />&nbsp;&nbsp;&nbsp;les&nbsp;enregistrements&nbsp;qui&nbsp;vont&nbsp;avec<br />&nbsp;&nbsp;&nbsp;*/<br /></span><span style="color: #0000BB">$result&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">dns_get_record</span><span style="color: #007700">(</span><span style="color: #DD0000">"php.net"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">DNS_ANY</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$authns</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$addtl</span><span style="color: #007700">);<br />echo&nbsp;</span><span style="color: #DD0000">"Result&nbsp;=&nbsp;"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">print_r</span><span style="color: #007700">(</span><span style="color: #0000BB">$result</span><span style="color: #007700">);<br />echo&nbsp;</span><span style="color: #DD0000">"Auth&nbsp;NS&nbsp;=&nbsp;"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">print_r</span><span style="color: #007700">(</span><span style="color: #0000BB">$authns</span><span style="color: #007700">);<br />echo&nbsp;</span><span style="color: #DD0000">"Additional&nbsp;=&nbsp;"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">print_r</span><span style="color: #007700">(</span><span style="color: #0000BB">$addtl</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</code></div>
    </div>

    <div class="example-contents para"><p>L&#039;exemple ci-dessus va afficher quelque chose de similaire à :</p></div>
    <div class="example-contents screen">
<div class="cdata"><pre>
Result = Array
(
    [0] =&gt; Array
        (
            [host] =&gt; php.net
            [type] =&gt; MX
            [pri] =&gt; 5
            [target] =&gt; pair2.php.net
            [class] =&gt; IN
            [ttl] =&gt; 6765
        )

    [1] =&gt; Array
        (
            [host] =&gt; php.net
            [type] =&gt; A
            [ip] =&gt; 64.246.30.37
            [class] =&gt; IN
            [ttl] =&gt; 8125
        )

)
Auth NS = Array
(
    [0] =&gt; Array
        (
            [host] =&gt; php.net
            [type] =&gt; NS
            [target] =&gt; remote1.easydns.com
            [class] =&gt; IN
            [ttl] =&gt; 10722
        )

    [1] =&gt; Array
        (
            [host] =&gt; php.net
            [type] =&gt; NS
            [target] =&gt; remote2.easydns.com
            [class] =&gt; IN
            [ttl] =&gt; 10722
        )

    [2] =&gt; Array
        (
            [host] =&gt; php.net
            [type] =&gt; NS
            [target] =&gt; ns1.easydns.com
            [class] =&gt; IN
            [ttl] =&gt; 10722
        )

    [3] =&gt; Array
        (
            [host] =&gt; php.net
            [type] =&gt; NS
            [target] =&gt; ns2.easydns.com
            [class] =&gt; IN
            [ttl] =&gt; 10722
        )

)
Additional = Array
(
    [0] =&gt; Array
        (
            [host] =&gt; pair2.php.net
            [type] =&gt; A
            [ip] =&gt; 216.92.131.5
            [class] =&gt; IN
            [ttl] =&gt; 6766
        )

    [1] =&gt; Array
        (
            [host] =&gt; remote1.easydns.com
            [type] =&gt; A
            [ip] =&gt; 64.39.29.212
            [class] =&gt; IN
            [ttl] =&gt; 100384
        )

    [2] =&gt; Array
        (
            [host] =&gt; remote2.easydns.com
            [type] =&gt; A
            [ip] =&gt; 212.100.224.80
            [class] =&gt; IN
            [ttl] =&gt; 81241
        )

    [3] =&gt; Array
        (
            [host] =&gt; ns1.easydns.com
            [type] =&gt; A
            [ip] =&gt; 216.220.40.243
            [class] =&gt; IN
            [ttl] =&gt; 81241
        )

    [4] =&gt; Array
        (
            [host] =&gt; ns2.easydns.com
            [type] =&gt; A
            [ip] =&gt; 216.220.40.244
            [class] =&gt; IN
            [ttl] =&gt; 81241
        )

)
</pre></div>
    </div>
   </div><p>
  </p>
 </div>

 
 <a name="function.dns-get-record.notes"></a><div class="refsect1 notes">
  <h3 class="title">Notes</h3>
  <blockquote><p><b class="note">Note</b>:
  
    Pour une compatibilité avec les versions non supportées, comme
    sur les systèmes *BSD (incluant Mac), utilisez la classe
    <a href="http://pear.php.net/" class="link external">&raquo; PEAR</a>
    <a href="http://pear.php.net/package/Net_DNS" class="link external">&raquo; Net_DNS</a>.
   <br />
  </p></blockquote>
 </div>

 
 <a name="function.dns-get-record.seealso"></a><div class="refsect1 seealso">
  <h3 class="title">Voir aussi</h3>
  <p class="para">
   </p><ul class="simplelist">
    <li class="member"><a href="function.dns-get-mx.php" class="function" rel="rdfs-seeAlso">dns_get_mx()</a> - Alias de getmxrr</li>
    <li class="member"><a href="function.dns-check-record.php" class="function" rel="rdfs-seeAlso">dns_check_record()</a> - Alias de checkdnsrr</li>
   </ul><p>
  </p>
 </div>

 
</div><?php manual_footer(); ?>
 
show source | credits | sitemap | contact | advertising | mirror sites