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 相关文章推荐
很实用的一个完整email发送程序
Oct 09 PHP
PHP中cookies使用指南
Mar 16 PHP
PHP Memcached + APC + 文件缓存封装实现代码
Mar 11 PHP
php 验证码实例代码
Jun 01 PHP
PHP服务器页面间跳转实现方法
Aug 02 PHP
PHP CodeBase:将时间显示为"刚刚""n分钟/小时前"的方法详解
Jun 06 PHP
php获取文件大小的方法
Feb 26 PHP
PHP实现PDO的mysql数据库操作类
Dec 12 PHP
iOS自定义提示弹出框实现类似UIAlertView的效果
Nov 16 PHP
PHP实现二维数组按某列进行排序的方法
Nov 18 PHP
PHP编程实现多维数组按照某个键值排序的方法小结【2种方法】
Apr 27 PHP
利用Laravel事件系统如何实现登录日志的记录详解
May 20 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中经典方法实现判断多维数组是否为空
2011/10/23 PHP
PHP生成随机密码方法汇总
2015/08/27 PHP
PHP支付系统设计与典型案例分享
2016/08/02 PHP
PHP实现数据库的增删查改功能及完整代码
2018/04/18 PHP
JavaScript接口实现代码 (Interfaces In JavaScript)
2010/06/11 Javascript
jQuery UI 应用不同Theme的办法
2010/09/12 Javascript
JS实现的Select三级下拉菜单代码
2015/08/20 Javascript
Javascript BOM学习小结(六)
2015/11/26 Javascript
基于BootStrap的图片轮播效果展示实例代码
2016/05/23 Javascript
AngularJs定时器$interval 和 $timeout详解
2017/05/25 Javascript
vue 动态改变静态图片以及请求网络图片的实现方法
2018/02/07 Javascript
用node.js写一个jenkins发版脚本
2019/05/21 Javascript
微信小程序中data-key属性之数据传输(经验总结)
2020/08/22 Javascript
python爬取网站数据保存使用的方法
2013/11/20 Python
分析Python的Django框架的运行方式及处理流程
2015/04/08 Python
Pythont特殊语法filter,map,reduce,apply使用方法
2016/02/27 Python
详解 Python 与文件对象共事的实例
2017/09/11 Python
python Crypto模块的安装与使用方法
2017/12/21 Python
python中类的输出或类的实例输出为这种形式的原因
2019/08/12 Python
python实现矩阵和array数组之间的转换
2019/11/29 Python
python实现猜数游戏
2020/03/27 Python
Selenium及python实现滚动操作多种方法
2020/07/21 Python
CSS3模拟IOS滑动开关效果
2016/09/28 HTML / CSS
美国豪华的多品牌精品店:The Webster
2019/07/31 全球购物
最新的小工具和卓越的产品设计:Oh That Tech!
2019/08/07 全球购物
阿联酋彩妆品牌:OUD MILANO
2019/10/06 全球购物
琳达·法罗眼镜英国官网:Linda Farrow英国
2021/01/19 全球购物
会计学个人自荐信模板
2013/12/13 职场文书
师范教师毕业鉴定
2014/01/13 职场文书
买房委托公证书
2014/04/08 职场文书
技校毕业生自荐信
2014/06/03 职场文书
煤矿安全生产月活动总结
2014/07/05 职场文书
2015年度个人教学工作总结
2015/05/20 职场文书
python单元测试之pytest的使用
2021/06/07 Python
tp5使用layui实现多个图片上传(带附件选择)的方法实例
2021/11/17 PHP
Ruby序列化和持久化存储 Marshal和Pstore介绍
2022/04/18 Ruby