PHP获取局域网ip(192.168)

有时候,程序中,需要获取本机内网ip的情况,经过各种资料查找,最终确定一下代码:

php 复制代码
//获取内网ip
    function getLocalIP() {
        exec("ipconfig /all",$arr);
        $res = mb_convert_encoding($arr, 'UTF-8', 'GBK');
        $ip = '';
        foreach ($res as $item) {
            if (strpos($item, 'DHCP 服务器') !== false) {
                $item = str_replace(' . ', '', $item);
                $index = strpos($item, '192');
                $ip = substr($item, $index);
            }
        }
        return $ip;
    }

注意事项:

1、禁用函数中,需要去除exec

2、linux系统可能是其他命令,需要将"ipconfig /all"替换成对应的命令行

3、返回结果,可能不带"DHCP 服务器"关键字,需要自行通过结果修改

4、正常命令行的结果不是utf8格式,需要自行转换格式

相关推荐
LaoZhangGong12312 分钟前
学习TCP/IP的第4步:重点掌握TCP序列号和确认号
网络·学习·tcp/ip·以太网
小小码农Come on20 分钟前
QT中窗口位置、相对位置、绝对位置
android·开发语言·qt
Qlittleboy3 小时前
物联网项目tp5怎么也获取不到请求的参数问题
物联网·php·web
b2077213 小时前
Flutter for OpenHarmony 身体健康状况记录App实战 - 个人中心实现
android·java·python·flutter·harmonyos
czy87874754 小时前
深入理解 TCP 协议中三次握手建立连接和四次挥手关闭连接的核心逻辑
网络·网络协议·tcp/ip
建军啊4 小时前
php伪协议、代码审计工具和实战
开发语言·php
Lam㊣4 小时前
Ubuntu(Ubuntu 22.04.4 LTS)更改IP地址及网关
tcp/ip·ubuntu·php
天才少年曾牛4 小时前
【无标题】
android·frameworks
独自破碎E4 小时前
【字符串分割】验证IP地址
服务器·网络·tcp/ip
2601_949575864 小时前
Flutter for OpenHarmony二手物品置换App实战 - 自定义组件实现
android·javascript·flutter