di: Claudio Garau 20 Novembre 2008
Con il termine DNS (Domain Name System) si indica un servizio che viene impiegato per la risoluzione di nomi di Host nei corrispondenti indirizzi IP o viceversa. Il nome di dominio "www.google.it" è ad esempio associato all'indirizzo IP "74.125.43.99" e la conversione del nome di dominio nel relativo IP è possibile grazie all'utilizzo di un server DNS.
PHP mette a disposizione alcuni validi strumenti per lavorare con i DNS e in particolare per il reperimento di informazioni, in questa breve trattazione verranno analizzate alcune funzioni che potranno essere integrate in applicazioni che richiedono servizi per la risoluzione di nomi di Host o indirizzi IP, come nel caso di script per cui sono previste connessioni tramite API socket.
gethostbyname() è una delle funzioni più semplici da utilizzare tra quelle messe a disposizione da PHP per la risoluzione dei nomi di Host; essa accetta l'Hostname di una postazione come unico argomento e restituisce in output il corrispondente indirizzo IP.
Di seguito viene mostrato un semplice esempio per l'utilizzo di questa funzione:
<?php # nome dell'Host da risolvere $nome_di_host = "www.html.it"; # traduzione del nome dell'Host in indirizzo IP $indirizzo_ip = gethostbyname($nome_di_host); # output dell'Hostname risolto echo "L'indirizzo IP di \"$nome_di_host\" è \"$indirizzo_ip\"."; ?>
La semplice applicazione proposta visualizza l'indirizzo IP corrispondente al nome di Host fornito come argomento alla funzione gethostbyname() sotto forma di una stringa numerica suddivisa da punti fermi.
Una funzione molto simile a quella appena descritta è gethostbynamel(), in questo caso però il suo utilizzo permette di ottenere un elenco completo di tutti gli indirizzi IP associati ad un determinato nome di Host; è il caso per esempio di server che supportano indirizzi IP virtuali multipli.
Chi utilizza il prompt di MS-Dos o la shell di Linux per effettuare interrogazioni verso i DNS si sarà sicuramente accorto che la funzione gethostbyname() svolge un compito per certi versi simile alle istruzioni da linea di comando basate su ping, pingareun nome di dominio vuol dire infatti anche cercare informazioni sul corrispondente indirizzo IP.
gethostbynamel(), come gethostbyname(), accetta come parametro un unico argomento che anche in questo caso è l'Hostname che si desidera risolvere, stavolta però gli indirizzi IP restituiti dall'esecuzione potrebbero essere più di uno e la funzione dovrà restituire in output un array destinato a contenerli come valori. Vediamo qualche esempio.
Guida Yii FrameworkCome creare applicazioni Web in modo semplice e veloce con il... |
Guida Zend FrameworkDiventate professionisti dello sviluppo Web. Zend Framework è lo... |
Guida Applicazioni Facebook con PHPCome realizzare un'applicazione per Facebook. Dalle basi della... |
Ogni lunedì, direttamente nella tua e-mail: script, articoli, guide e tutorial su PHP, MySQL e Apache.
Iscriviti alla newsletter
|
|
Corso PHP per Webmaster11 Giugno 2012 a Milano |
|
|
Corso Google AdWords Base25 Giugno 2012 a Milano |
|
|
Corso Google AdWords Base05 Giugno 2012 a Roma |