Il s'agit d'un vieux poste, mais comprenez-le :
function getLocalIp()
{ return gethostbyname(trim(`hostname`)); }
Par exemple :
die( getLocalIp() );
Je l'ai trouvé sur un autre site, ne supprimez pas la commande trim car sinon vous obtiendrez le nom des ordinateurs.
BACKTICKS (Les guillemets spéciaux) : Cela fonctionne parce que PHP essaiera d'exécuter ce qui se trouve entre ces "guillemets spéciaux" (backticks) comme une commande shell et retournera la sortie résultante.
gethostbyname(trim(`hostname`));
C'est très similaire (mais beaucoup plus efficace) que de faire :
$exec = exec("hostname"); //the "hostname" is a valid command in both windows and linux
$hostname = trim($exec); //remove any spaces before and after
$ip = gethostbyname($hostname); //resolves the hostname using local hosts resolver or DNS