1

Windows で PHP を使用して、できるだけ早く多くの traceroute に進む必要があります。これが私のコードです:

function tracert($addresses){
    set_time_limit(300);
    $nbAddresses=count($addresses);
    for($i=0; $i<$nbAddresses; $i++){
        $tracerts[$i]=popen('tracert '.$addresses[$i], 'r');
    }
    for($i=0; $i<$nbAddresses; $i++){
        $results[$i]="<strong>".($i+1).")</strong>";
        while(!feof($tracerts[$i])){
            $results[$i].=fgets($tracerts[$i])."<br/>";
        }
        fclose($tracerts[$i]);
    }
    return $results;
}

私は 2 回ループしています。最初のループでは popen() を使用して traceroute を起動し、2 番目のループでは fgets() を使用して結果をテーブルに戻しています。

しかし、うまくいかないこともあります: traceroute の戻り値が空です。したがって、基本的に私のプログラムは traceroute の番号を表示して次へ進むだけです。これは、4 つまたは 5 つの traceroute ごとに約 1 回発生します。

毎回動作させるにはどうすればよいですか?

4

0 に答える 0