首页  >  文章  >  后端开发  >  如何在 PHP 中可靠地 Ping 一个 IP 地址并显示结果?

如何在 PHP 中可靠地 Ping 一个 IP 地址并显示结果?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-07 06:38:02440浏览

How to Reliably Ping an IP Address and Display the Result in PHP?

使用 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn