У меня есть сценарий, чтобы получить IP-адрес, основанный на PHP и WMI, как это:Получить только IPV4 Адресная и Исключено IPv6 с помощью WMI PHP
Получить активного сетевого адаптера
function get_server_network_adapter() {
$pc = ".";
$obj = new COM ("winmgmts:\\\\".$pc."\\root\\cimv2");
$wmi_network_rec = $obj->ExecQuery("Select * from Win32_NetworkAdapter Where NetConnectionStatus = 2");
foreach ($wmi_network_rec as $wmi_call) {
$adapter = $wmi_call->Name;
return $adapter;
}
}
и Получить IPAdress Активного адаптера
function get_server_ip()
{
$adapter = get_server_network_adapter();
$pc = ".";
$obj = new COM ("winmgmts:\\\\".$pc."\\root\\cimv2");
$wmi_server_ip = $obj->ExecQuery("Select * from Win32_NetworkAdapterConfiguration Where Description = '$adapter'");
foreach ($wmi_server_ip as $wmi_call) {
$ip = $wmi_call->IPAddress;
foreach ($ip as $key => $value) {
echo $value;
}
}
}
Результат моего кода выше 192.168.1.103fe80 :: e9ad: 9bb: e359: A122
Однако то, что я хочу, чтобы получить только IPv4, как 192.168.1.103
Может кто-нибудь мне помочь? Благодаря