php获取本机真实IP地址实例代码
2016-08-31来源:

本文实例为大家分享了php获取本机真实IP地址实例代码,供大家参考。

主要是获取操作系统为win2000/xp、win7的本机IP真实地址,和获取操作系统为linux类型的本机IP真实地址,具体内容如下:

function getLocalIP() {

 $preg = "/\A((([0-9]?[0-9])|(1[0-9]{2})|(2[0-4][0-9])|(25[0-5]))\.){3}(([0-9]?[0-9])|(1[0-9]{2})|(2[0-4][0-9])|(25[0-5]))\Z/";

//获取操作系统为win2000/xp、win7的本机IP真实地址

 exec("ipconfig", $out, $stats);

 if (!empty($out)) {

  foreach ($out AS $row) {

   if (strstr($row, "IP") && strstr($row, ":") && !strstr($row, "IPv6")) {

    $tmpIp = explode(":", $row);

    if (preg_match($preg, trim($tmpIp[1]))) {

     return trim($tmpIp[1]);

    }

   }

  }

 }

//获取操作系统为linux类型的本机IP真实地址

 exec("ifconfig", $out, $stats);

 if (!empty($out)) {

  if (isset($out[1]) && strstr($out[1], 'addr:')) {

   $tmpArray = explode(":", $out[1]);

   $tmpIp = explode(" ", $tmpArray[1]);

   if (preg_match($preg, trim($tmpIp[0]))) {

    return trim($tmpIp[0]);

   }

  }

 }

 return '127.0.0.1';

}

以上就是本文的全部内容,希望对大家的学习有所帮助。

推荐信息
Baidu
map