PHP で IP アドレスに ping を実行し、結果を表示する
IP アドレスに ping を実行して結果を表示しようとしたときに問題が発生しましたPHPを使用して。コードを分析して、より良い代替案を提供しましょう。
指定した関数 pingAddress にはわずかなエラーがあります。$ip 変数が一重引用符で囲まれているため、PHP は変数として解釈できません。これを修正するには、二重引用符を使用する必要があります:
shell_exec("start /b ping \"$ip\" -n 1");
ただし、この修正を行っても、コードは出力文字列に基づいてステータスを判断しようとするため、依然として失敗します。より信頼性の高い方法は、操作が成功したか失敗したかを示す ping コマンドの終了ステータスを確認することです。
コードの改良版は次のとおりです。
function pingAddress($ip) { $pingResult = exec("/bin/ping -n 3 $ip", $output, $status); if ($status == 0) { echo "The IP address, $ip, is alive"; } else { echo "The IP address, $ip, is dead"; } } pingAddress("127.0.0.1");
このコード/bin/ping コマンドで exec() 関数を使用して、指定された IP アドレスに ping を実行します。 ping コマンドの終了ステータスをチェックします。成功の場合は 0、失敗の場合は 0 以外です。終了ステータスに基づいて、適切なメッセージが表示されます。
このアプローチはより信頼性が高く一貫性があり、結果が実際の ping ステータスを正確に反映することが保証されます。
以上がIP アドレスに確実に ping を実行し、その結果を PHP で表示する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。