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


Posted in PHP onMarch 31, 2016

本文实例为大家分享了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 相关文章推荐
PHP5中MVC结构学习
Oct 09 PHP
php自定义函数之递归删除文件及目录
Aug 08 PHP
set_include_path和get_include_path使用及注意事项
Feb 02 PHP
PHP设计模式之解释器模式的深入解析
Jun 13 PHP
PHP面向对象程序设计之类常量用法实例
Aug 20 PHP
Yii 快速,安全,专业的PHP框架
Sep 03 PHP
PHP5.2中PDO的简单使用方法
Mar 25 PHP
php自定义函数实现JS的escape的方法示例
Jul 07 PHP
PHP中字符与字节的区别及字符串与字节转换示例
Oct 15 PHP
PHP获取文本框、密码域、按钮的值实例代码
Apr 19 PHP
thinkPHP5项目中实现QQ第三方登录功能
Oct 20 PHP
ThinkPHP5 验证器的具体使用
May 31 PHP
详解PHP的Yii框架中自带的前端资源包的使用
Mar 31 #PHP
php中使用GD库做验证码
Mar 31 #PHP
php实现搜索类封装示例
Mar 31 #PHP
PHP-FPM实现性能优化
Mar 31 #PHP
PHP实现通过URL提取根域名
Mar 31 #PHP
PHP的PDO操作简单示例
Mar 30 #PHP
PHP Smarty模版简单使用方法
Mar 30 #PHP
You might like
浅析php变量作用域的一些问题
2013/08/08 PHP
PHP通过插入mysql数据来实现多机互锁实例
2014/11/05 PHP
PHP的Yii框架中使用数据库的配置和SQL操作实例教程
2016/03/17 PHP
php连接MSsql server的五种方法总结
2018/03/04 PHP
js获取IFRAME当前的URL的方法
2013/11/13 Javascript
如何使用jQuery技术开发ios风格的页面导航菜单
2015/07/29 Javascript
jQuery实现折叠、展开的菜单组效果代码
2015/09/16 Javascript
js停止冒泡和阻止浏览器默认行为的简单方法
2016/05/15 Javascript
使用Script元素发送JSONP请求的方法
2016/06/12 Javascript
简单实现JS倒计时效果
2016/12/23 Javascript
详解关于react-redux中的connect用法介绍及原理解析
2017/09/11 Javascript
vue组件实现进度条效果
2018/06/06 Javascript
详解解决使用axios发送json后台接收不到的问题
2018/06/27 Javascript
详解如何使用node.js的开发框架express创建一个web应用
2018/12/20 Javascript
vue强制刷新组件的方法示例
2019/02/28 Javascript
如何让Nodejs支持H5 History模式(connect-history-api-fallback源码分析)
2019/05/30 NodeJs
轻松学习JavaScript函数中的 Rest 参数
2019/05/30 Javascript
JS如何在不同平台实现多语言方式
2020/07/16 Javascript
js实现查询商品案例
2020/07/22 Javascript
[03:36]DOTA2完美大师赛coL战队趣味视频——我演你猜
2017/11/23 DOTA
[56:18]VGJ.S vs Secret 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python编程开发之类型转换convert实例分析
2015/11/13 Python
简单讲解Python中的数字类型及基本的数学计算
2016/03/11 Python
Python基于OpenCV实现视频的人脸检测
2018/01/23 Python
python微信公众号开发简单流程
2018/03/23 Python
pandas 空的dataframe 插入列名的示例
2018/10/30 Python
Python读取Pickle文件信息并计算与当前时间间隔的方法分析
2019/01/30 Python
使用Python和OpenCV检测图像中的物体并将物体裁剪下来
2019/10/30 Python
使用darknet框架的imagenet数据分类预训练操作
2020/07/07 Python
推荐一些比较有用的css3新属性
2014/11/11 HTML / CSS
Nordgreen台湾官网:极简北欧设计手表
2019/08/21 全球购物
面向对象设计的原则是什么
2013/02/13 面试题
2014党的群众路线教育实践活动总结材料
2014/10/31 职场文书
集结号观后感
2015/06/08 职场文书
浅谈redis整数集为什么不能降级
2021/07/25 Redis
Python中使用Opencv开发停车位计数器功能
2022/04/04 Python