有时候,程序中,需要获取本机内网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格式,需要自行转换格式