gpt4 book ai didi

带有 ping 和 mysql 查询结果的 php 主机状态

转载 作者:行者123 更新时间:2023-11-29 00:40:57 24 4
gpt4 key购买 nike

我创建了一个数据库,用于跟上我网络上的静态 IP 列表。我有一个按顺序列出 ips 的页面,我的脚本可以列出 ips 和数据库中的其他数据,但我想添加一个脚本来 ping 每个 ip 地址并判断它是否启动,这是我的代码必须显示所有内容:

$dbConn = connectToDb();

$sql= <<< END

SELECT *
FROM `ipadds`
ORDER BY oct1 ASC, oct2 ASC, oct3 ASC, oct4 ASC;

END;

$result=mysql_query($sql) or die(mysql_error());



$options="";



while ($row=mysql_fetch_array($result)) {

$oct1=$row['oct1'];
$oct2=$row['oct2'];
$oct3=$row['oct3'];
$oct4=$row['oct4'];
$SubnetMask=$row['SubnetMask'];
$Hostname=$row['Hostname'];
$MAC=$row['MAC'];
$Description=$row['Description'];
$DeviceType=$row['DeviceType'];
$Location=$row['Location'];
$Comments=$row['Comments'];

$options.="<tr><td><a href=editcomputer.php?queryID=$id><img src=images/edit.gif alt=print border=0></a> <a href=deletecomputer.php?queryID=$id><img src=images/edit-delete-icon.png alt=print border=0></a></td><td><a href='HTTP://$oct1.$oct2.$oct3.$oct4' target=_blank>$oct1.$oct2.$oct3.$oct4</a></td><td>$SubnetMask</td><td>$Hostname</td><td>$MAC</td><td>$Description</td><td>$DeviceType</td><td>$Location</td></tr>";

}
?>
<center>

<font size=-1>

<img src="images/edit.gif"> - Edit Computer<br>

<img src="images/edit-delete-icon.png"> - Delete Computer<br>

</font>

<font size="2">

<table>

<tr>

<td>

<hr>

</td>

</tr>
<table cellpadding="15" border="1">
<tr>
<td>

</td>
<td>
<u>IP Address</u>
</td>
<td>
<u>Subnet Mask</u>
</td>
<td>
<u>Hostname</u>
</td>
<td>
<u>MAC Address</u>
</td>
<td>
<u>Description</u>
</td>
<td>
<u>Device Type</u>
</td>
<td>
<u>Location</u>
</td>

<?=$options?>
</table>

我想在我的表格中添加另一行并将其作为“向上”或“向下”的“状态”,有什么建议吗?

我找到了这段代码,它自己工作,我指定了地址,但无法在我的“while”语句中让它工作:

function pingAddress($ip) {
$pingresult = exec("ping -n 3 $ip", $outcome, $status);
if (0 == $status) {
$status = "alive";
} else {
$status = "dead";
}
echo "The IP address, $ip, is ".$status;
}

pingAddress("ip addres of host here");

最佳答案

没有提到你不应该使用 mysql_* 函数(哎呀,我刚刚做了),你所要做的就是改变你的函数以返回一个值:

function pingAddress($ip) {
$pingresult = exec("ping -n 3 $ip", $outcome, $status);
if (0 == $status) {
return true;
}
return false;
}

然后在你的循环中:

while ($row=mysql_fetch_array($result)) {
[...]
if (pingAddress($ip) === true) {
// IP is up
}
else {
// IP is down
}
}

关于带有 ping 和 mysql 查询结果的 php 主机状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12311349/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com