Bonjour,

j'aimerais savoir quel code utiliser pour utiliser une liste de serveur dans un fichier txt dans un script php .

<?php
$system = ini_get('system');
$win  = is_bool($system);
$count = 1;

echo '<a><u><b>Serveur 1</b></u></a>';
$host[1] = "192.168.0.1";
$host[2] = "192.168.0.2";
$host[3] = "192.168.0.3";
$host[4] = "192.168.0.4";
$host[5] = "192.168.0.5";

$services[1] = "   ";
$services[2] = "   ";
$services[3] = "Diffusion";

echo "<table border=\"0\" align=\"center\">";
foreach ($host as $value) 
{
     $counter = $count + 1;
      echo "<tr><td width=230>$value</td>"; 
      echo '<body bgcolor="#FFFFFF" text="#000000"></body>';       
      $ping = exec("ping -n $count $value");
      if ( substr($ping, -2) == 'ms')
        {
            echo "<td width=60><img src='up.png'></td>";
            echo "<td width=30>". $services [$counter] . "</td>";
            echo "<td width=130>". gethostbyname($value) . "</td>";
        }
      else 
        {
            echo "<td width=60><img src='down.jpg'></td>";
            echo "<td width=30>". $services [$counter] . "</td>";
            echo "<td>";
            echo "HS";
        }
}
echo "</td></tr></table>";
?>

Mon code fonctionne parfaitement mais j'aurais aimé mettre mes "$host[1] = "192.168.0.1";$host[2] = "192.168.0.2"......" dans un fichier txt.
Cela est-il possible?

Merci d'avance

6 réponses


Merci de ta réponse.
J'ai déjà utiliser le "file()" mais le probléme il me l'écrit et ne l'execute pas dans la suite du script.

Quand ouvre ma page avec cette config il me donne seulement l'intégralité de mon fichier txt mais ne l'utilise pas pour faire un ping.

Bravo c'est moi le probléme je me suis trompé dans l'interieur de mon fichier txt.
Maintenant que cela fonctionne parfaitement, j'aurais une derniere question.
Si on a deux fichier txt, exemple : ip.txt et iptemp.txt est-ce que je peux mettre les deux txt dans la même variable $hosts??
Merci d'avance

J'ai reussi.

$hosts1 = file ("../test/test1.txt");
$hosts2 = file ("../test/test2.txt");
$hosts= array($hosts1[0] , $hosts2[0]);

foreach ($hosts as $hostsfinal)

Dis moi si ma solution est correct.
Merci

Bon ..... avec il me prend que la premiere ligne de chaque fichier txt.
Une solution?

Super comme d'habitude!!!
Mon script fonctionne parfaitement.

Merci pour tout.