Je travaille sur un site Web et l'une des choses que j'aimerais faire est d'afficher mon adresse IP aux utilisateurs. Le site Web est fait avec CodeIgniter, donc je cherchais à trouver mon IP de serveur avec PHP. L'adresse IP peut changer (c'est un itinérant), donc j'aimerais la trouver dynamiquement, pas seulement la coder en dur. J'ai essayé ceci:
$data['hostname'] = NULL;
$data['ip'] = NULL;
$var = gethostname();
if ($var === FALSE) {
$var = NULL;
} else {
$data['hostname'] = $var;
$data['ip'] = gethostbyname($var);
}
Cependant, au lieu de me donner le nom d'hôte et l'IP, j'ai obtenu: "Moria" et "127.0.1.1". Pas tout à fait ce que je recherche. Il doit plutôt indiquer "Moria.student.rit.edu" pour le nom d'hôte et l'adresse IP. De l'aide?
Essayez $_SERVER['SERVER_ADDR']
. Ce sera l'adresse IP que le serveur écoute. Vous pouvez utiliser les fonctions DNS (par exemple, gethostbyaddr()
) pour obtenir le nom d'hôte.
Voir http://www.php.net/manual/en/reserved.variables.server.php .