Bonjour,
J'ai une liste de région avec des serveurs dans un fichier CSV qui est auto mis à jour en fonction si le serveur ping ou non dans un état OK ou HS.
Exemple

Region1;Ville1;192.168.0.1;HS;
Region1;Ville1;192.168.0.2;OK;
Region1;Ville2;192.168.0.3;OK;
Region1;Ville2;192.168.0.4;OK;
Region1;Ville3;192.168.0.5;HS;
Region1;Ville3;192.168.0.6;HS;

Mon scripts actuel me permet d'avoir 2 états Vert (Quand tout est OK) et Orange (Quand au moins un serveur est HS)
Maintenant j'aimerais avoir un 3eme état qui est Rouge (Quand tous les serveurs de la même ville sont HS)

Mon script actuel :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
 
<?php
$serveurs = array();
$i = 0;
 
// chargement du fihcier dans un tableau multi dimentionnel
$fp = @fopen("serveurs.csv", "r");
if ($fp) {
    while (($data = fgetcsv($fp, 512, ';')) !== false) {
        if ($i == 0) { // ignore entete
                $i++;
                continue;
        }
        // structure du tableau : region => statut / nb_OK / nb_HS / liste => statut / nb_OK / nb_HS / ip => statut
        if (!array_key_exists($data[0], $serveurs))
                $serveurs[$data[0]] = array('statut' => 'OK', 'nb_OK' => 0, 'nb_HS' => 0, 'liste' => array());
        if (!array_key_exists($data[1], $serveurs[$data[0]]['liste']))
                $serveurs[$data[0]]['liste'][$data[1]] = array('statut' => '<img src=/vert.gif>', 'nb_OK' => 0, 'nb_HS' =>0, 'ip' => array());
 
        $serveurs[$data[0]]['liste'][$data[1]]['ip'][$data[2]] = $data[3];
        $serveurs[$data[0]]['nb_OK']++;
        $serveurs[$data[0]]['liste'][$data[1]]['nb_OK']++;
        if ($data[3] == "HS") {
                $serveurs[$data[0]]['statut'] = "<img src=/". ("orange.gif") .">";
                $serveurs[$data[0]]['nb_HS']++;
                $serveurs[$data[0]]['liste'][$data[1]]['statut'] = "<img src=/". ("orange.gif") .">";
                $serveurs[$data[0]]['liste'][$data[1]]['nb_HS']++;
        }
    }
    if (!feof($fp)) {
        echo "Error: unexpected fgets() fail\n";
    }
    fclose($fp);
}
?>
Merci beaucoup de votre aide.