Ce face gethostbynamel
Multe site-uri mari au mai multe adrese IP, pentru împărțirea traficului. gethostbyname îți dă doar una, iar gethostbynamel pe toate (litera l vine de la „list”).
Spre deosebire de gethostbyname, la eșec returnează false. Pentru adrese IPv6 folosește dns_get_record($domeniu, DNS_AAAA).
Parametri
| Parametru | Descriere |
|---|---|
$hostname |
Numele domeniului. |
Ce returnează
Un tablou cu adresele IPv4 sau false dacă domeniul nu poate fi găsit.
Exemple
Exemplul 1: localhost și un domeniu inexistent
<?php
print_r(gethostbynamel("localhost"));
var_dump(gethostbynamel("magazin-inexistent.invalid"));
Rezultat
Array
(
[0] => 127.0.0.1
)
bool(false)
Exemplul 2: Un site cu mai multe adrese
<?php
print_r(gethostbynamel("www.exemplu.ro"));
Rezultat posibil (depinde de DNS)
Array
(
[0] => 203.0.113.25
[1] => 203.0.113.26
)
Greșeli frecvente
- Te aștepți ca ordinea adreselor să fie mereu aceeași. Multe servere DNS le rotesc la fiecare interogare.
Comenzi înrudite
gethostbyname: Află adresa IPv4 a unui domeniu, de exemplu adresa IP din spatele unui site.gethostbyaddr: Află numele de domeniu asociat unei adrese IP (interogare DNS inversă).dns_get_record: Citește înregistrările DNS ale unui domeniu: A, AAAA, MX, TXT, NS, CNAME și altele.