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 相关文章推荐
Notice: Undefined index: page in E:\PHP\test.php on line 14
Nov 02 PHP
php array_walk() 数组函数
Jul 12 PHP
基于php冒泡排序算法的深入理解
Jun 09 PHP
ThinkPHP模板比较标签用法详解
Jun 30 PHP
PHP实现视频文件上传完整实例
Aug 28 PHP
PHP常用的排序和查找算法
Aug 06 PHP
Docker 如何布置PHP开发环境
Jun 21 PHP
php处理带有中文URL的方法
Jul 11 PHP
iOS自定义提示弹出框实现类似UIAlertView的效果
Nov 16 PHP
解决form中action属性后面?传递参数 获取不到的问题
Jul 21 PHP
PHP重置数组为连续数字索引的几种方式总结
Mar 12 PHP
Laravel如何实现适合Api的异常处理响应格式
Jun 14 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 三维饼图的实现代码
2008/09/28 PHP
关于crontab的使用详解
2013/06/24 PHP
PHP stream_context_create()函数的使用示例
2015/05/12 PHP
非集成环境的php运行环境(Apache配置、Mysql)搭建安装图文教程
2016/04/12 PHP
深入浅析PHP无限极分类的案例教程
2016/05/09 PHP
PHP设计模式之命令模式示例详解
2020/12/20 PHP
jquery下利用jsonp跨域访问实现方法
2010/07/29 Javascript
表单验证的完整应用案例探讨
2013/03/29 Javascript
js固定DIV高度,超出部分自动添加滚动条的简单方法
2013/07/10 Javascript
使用jquery获取网页中图片高度的两种方法
2013/09/26 Javascript
举例讲解JavaScript substring()的使用方法
2015/11/09 Javascript
JavaScript encodeURI 和encodeURIComponent
2015/12/04 Javascript
js 弹出虚拟键盘修改密码的简单实例
2016/10/10 Javascript
JavaScript中Promise的使用详解
2017/02/26 Javascript
vue中for循环更改数据的实例代码(数据变化但页面数据未变)
2017/09/15 Javascript
jQuery实现所有验证通过方可提交的表单验证
2017/11/21 jQuery
详解webpack打包时排除其中一个css、js文件或单独打包一个css、js文件(两种方法)
2018/10/26 Javascript
JavaScript判断数组类型的方法
2019/10/23 Javascript
nodejs实现UDP组播示例方法
2019/11/04 NodeJs
解决vue项目中页面调用数据 在数据加载完毕之前出现undefined问题
2019/11/14 Javascript
构建大型 Vue.js 项目的10条建议(小结)
2019/11/14 Javascript
vue 插槽简介及使用示例
2020/11/19 Vue.js
[45:15]Optic vs VP 2018国际邀请赛淘汰赛BO3 第一场 8.24
2018/08/25 DOTA
对Tensorflow中权值和feature map的可视化详解
2018/06/14 Python
Python (Win)readline和tab补全的安装方法
2019/08/27 Python
通过代码实例解析Pytest运行流程
2020/08/20 Python
python3中数组逆序输出方法
2020/12/01 Python
国际鲜花速递专家:Floraqueen
2016/11/24 全球购物
lululemon美国官网:瑜伽服+跑步装备
2018/11/16 全球购物
德国旅行、体验和活动的预订平台:Watado
2019/12/04 全球购物
教师实习自我鉴定
2013/12/14 职场文书
创建卫生先进单位实施方案
2014/03/10 职场文书
四查四看整改措施
2014/09/19 职场文书
个人纪律作风整改措施思想汇报
2014/10/12 职场文书
2015年审计人员工作总结
2015/05/26 职场文书
MySQL数据库之存储过程 procedure
2022/06/16 MySQL