我有以下的函数,目前它不起作用。我想对一个IP地址进行ping操作,然后输出该IP是否存活。
function pingAddress($ip){
$pingresult = shell_exec("start /b ping $ip -n 1");
$dead = "Request timed out.";
$deadoralive = strpos($dead, $pingresult);
if ($deadoralive == false){
echo "The IP address, $ip, is dead";
} else {
echo "The IP address, $ip, is alive";
}
}
当我使用以下示例调用此函数时:
pingAddress("127.0.0.1")
无论如何,回显结果始终为“dead”。
请问有人能帮我找出问题所在吗?或者有没有更好的方法可以得到相同的结果?
非常感谢。
更新:已更正代码以包含双引号,但仍然获得相同(不正确)的结果。
shell_exec
时使用双引号,否则$ip
将不会被替换。 - Clive