0

Enterprise Network Consoleに似たPHPスクリプトを書きたいのですが、サーバーのWANではなくPCとデバイスのLAN用です。

パソコンやコピー機などがネットワークに接続されているか確認したい。オフになっている場合でも知りたいのですが、Wake-on-LANパケットでない限り、PCはパケットを無視するため、これは不可能です。

PCの電源がオンかオフかを確認する最良の方法は何ですか?以前fSocketOpen()はサーバーをテストしていましたが、ほとんどのPCはサーバーではありません。それらはpingに応答しますが、接続用に開いているポートがありません。つまり、PHPfSocketOpen()は機能しませんが、pingは機能します。

4

1 に答える 1

2

システムコマンドを使用して、結果のstdoutをキャッチできます。

PHPのpopen(http://uk3.php.net/popen)の例を検索してください。

echo run('ping 192.168.1.5');

function run($command) {
    $command .= ' 2>&1';
    $handle = popen($command, 'r');
    $log = '';

    while (!feof($handle)) {
        $line = fread($handle, 1024);
        $log .= $line;
    }

    pclose($handle);
    return $log;
}
于 2012-08-09T00:55:12.950 に答える