使用 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");
此代码使用 exec() 函数和 /bin/ping 命令来 ping 指定的 IP 地址。它检查 ping 命令的退出状态,0 表示成功,非 0 表示失败。根据退出状态,显示相应的消息。
这种方法更加可靠和一致,确保结果准确反映实际的 ping 状态。
以上是如何在 PHP 中可靠地 Ping 一个 IP 地址并显示结果?的详细内容。更多信息请关注PHP中文网其他相关文章!