php获取本机真实IP地址实例代码

yipeiwu_com6年前PHP代码库

本文实例为大家分享了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';
}

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

相关文章

php文件操作之文件写入字符串、数组的方法分析

php文件操作之文件写入字符串、数组的方法分析

本文实例讲述了php文件操作之文件写入字符串、数组的方法。分享给大家供大家参考,具体如下: 场景一:用文本文档记录一些操作日志,因为对于一些频繁的操作,操作记录的数据量势必会很大,...

一个简单的php路由类

本文实例为大家分享了php编写一个简单的路由类,供大家参考,具体内容如下 <?php namespace cmhc\Hcrail; class Hcrail {...

php魔术方法与魔术变量、内置方法与内置变量的深入分析

php内置变量了:DIRECTORY_SEPARATORDIRECTORY_SEPARATOR是一个返回跟操作系统相关的路径分隔符的php内置命令,在windows上返回/,而在linu...

php intval的测试代码发现问题

<?php $o = 0.1; for($a = 1; $a < 100; $a++){ &n...

浅析关于PHP位运算的简单权限设计

1.写在最前面最近想写一个简单的关于权限处理的东西,之前我也了解过用二进制数的位运算可以出色地完成这个任务。关于二进制数的位运算,常见的就是“或、与、非”这三种简单运算了,当然,我也查看...