2

次のように、PHP と WMI に基づいて IP アドレスを取得するスクリプトがあります。

アクティブなアダプタ ネットワークを取得する

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 です

しかし、私が望むのは、 192.168.1.103のような IPv4 のみを取得することです

誰かが私を助けることができますか?ありがとう

4

1 に答える 1