2016-09-14 38 views
1

对于web开发我很新颖,并且正在制作一个php ping工具来查看我们的网站上或下。因为我们选择了115个网站来只显示停播的网站。在没有网站停止或不回复Ping的网页上,我可以显示一条消息,如“没有网站停止”或其他内容。这是PHP的引导样式。PHP Ping工具second If或者其他语句

$counter = ""; 
foreach ($host1 as $value1) 

{ 

$counter = $counter + 1; 
    echo "<tr>"; 
    echo '<body bgcolor="#FFFFFF" text="#000000"></body>';  
    //check target IP or domain 
    $pingreply = exec("ping -n $count $value1"); 
    if (substr($pingreply, -2) == 'ms') 
    { 

    } 
    else 
    { 
     #echo "<td width=60><strong><font color='#990000'>DOWN</font></strong></td>"; 
     echo "<p><fstrong textont size='6'><center><strong><div class='alert alert-danger'>" . $services1[$counter] . " - No Reply</div></strong></center></font></p>"; 
    } 
} 

有没有人能帮助我,林不知道如何将第二else或第二if语句添加到该代码。

+0

添加标记。如果至少有一个站点设置为true,则将其设置为true。如果在循环标志仍然是假之后 - 你没有任何网站被关闭。 –

回答

0

正如我在评论说:

$counter = ""; 
$has_down = false; // flag, no sites are down yet 
foreach ($host1 as $value1) 
{ 
    $counter = $counter + 1; 
    echo "<tr>"; 
    echo '<body bgcolor="#FFFFFF" text="#000000"></body>';  
    //check target IP or domain 
    $pingreply = exec("ping -n $count $value1"); 
    if (substr($pingreply, -2) == 'ms') 
    { 

    } 
    else 
    { 
     #echo "<td width=60><strong><font color='#990000'>DOWN</font></strong></td>"; 
     echo "<p><fstrong textont size='6'><center><strong><div class='alert alert-danger'>" . $services1[$counter] . " - No Reply</div></strong></center></font></p>"; 
     // site down, set flag 
     $has_down = true; 
    } 
} 

// flag still false, all sites work 
if (!$has_down) { 
    echo 'There are no sites down'; 
} 
+0

非常完美!非常感谢,我现在可以使用这个。 – XSuperDan

+0

如果答案解决了您的问题 - 接受/ upvote它。 –

+0

嗨Mulder我有另一个很快的问题,我相信这只发送1个数据包ping。在这段代码中,我可以增加它发送的ping数量,因为这些站点中的一些站点在ADSL连接上,并且始终丢弃ping,因此即使在没有连接时也会显示它们。想知道是否可以增加停止发生的次数。 – XSuperDan