最近要用用php代码获取机器的ip地址, 先来写个:

<?php

function get_machine_ip()
{
	$result = shell_exec("/sbin/ifconfig");
	if (preg_match_all("/inet (\d+\.\d+\.\d+\.\d+)/", $result, $match) !== 0)  // 这里根据你机器的具体情况, 可能要对“inet ”进行调整, 如“addr:”,看如下注释掉的if
	// if (preg_match_all("/addr:(\d+\.\d+\.\d+\.\d+)/", $result, $match) !== 0) 
	{
		foreach( $match [0] as $k => $v )
		{
			if ($match [1] [$k] != "127.0.0.1")
			{
				$the_local_ip = $match [1] [$k];
				return $match [1] [$k];
			}
		}
	}
	
	return "0.0.0.0";
}

$ip = get_machine_ip();
var_dump($ip);

?>
       试了一把, 靠谱。





本文转载:CSDN博客