Forums Zebulon.fr: [Résolu] [PHP] Ping Serveur - Forums Zebulon.fr

Aller au contenu

[Résolu] [PHP] Ping Serveur Besoin d'infos complémentaires Noter : -----

#1 L'utilisateur est hors-ligne   KoishA 

  • Junior Member
  • Groupe : Membres
  • Messages : 2
  • Inscrit(e) : 02-avril 06

Posté 02 avril 2006 - 04:30

Bonjour à tous :P

Voila, j'ai un script en PHP me permettant de pinger differents serveurs de mon choix et de les afficher via une page web...
Le problème étant que je cherche à afficher une image en fonction du ping renvoyé...
Et non de sa reponse ou non au ping.
Actuellement j'affecte une image à un serveur online (qui repond au ping) et une autre pour un serveur offline...
Mais j'aurai aimé attribué une image intermédiaire pour les serveurs ayant un ping élévé...
D'autant que le script intègre une fonction d'affichage du ping...
Mais je ne parviens pas à faire la liaison entre le ping et l'image affiché en fonction du ping.

Je vous met le code correspondant à la partie ping :

$time_start = getmicrotime();

if( @fsockopen( $server[$i]['addr'], $port[$j], &$errno, &$errstr, 5) )
{
echo '<img src="online.gif"/>'."\n";
$time_end = getmicrotime();
$ping = round(($time_end - $time_start) * 1000);
}
else
{
echo '<img src="offline.gif"/>'."\n";
$ping = 'N/A';
}



echo '</td><td align="center" bgcolor="#FFFFFF">'."\n";
echo $ping;
echo '</td></tr>'."\n";
}


La page de ping est accessible ici, c'est une version de test...

http://koisha.free.fr/bla/ping.php

Ce que je souhaiterais c'est que l'image apparaissant dans la colonne centrale ne soit plus attribué par le Status ONLINE/OFFLINE, mais par une valeur de ping. (Dans le genre entre 1-50 ping, une icone verte, entre 51 et 200 une icone orange et entre 201 et 500 une icone rouge...)

En vous remerciant par avance :P
0

#2 L'utilisateur est hors-ligne   KewlCat 

  • Modérateur
  • Groupe : Modérateur [KewlCat]
  • Messages : 26494
  • Inscrit(e) : 04-décembre 00
  • Gender:Male
  • Location:France
  • Mes langues:français, anglais, allemand

Posté 02 avril 2006 - 12:07

Puisque tu sais afficher $ping, tu devrais pouvoir en récupérer la valeur numérique et la tester, non ?
Je ne comprends pas trop où est le problème... (quoique, quand je te vois affecter une chaine de caractères à $ping, j'ai quelques soupçons)
Au lieu de faire afficher l'image en même temps que tu détermines la valeur du ping, pourquoi ne pas "sortir" le echo correspondant (en affectant un truc genre MAX_VALUE, si ça existe en PHP, à $ping s'il n'y a pas de réponse) et construire un test pour faire afficher une image différente en fonction de la valeur, après cette récupération ?
"Le formatage est le dernier refuge de l'incompétence" (Adapté de Isaac Asimov)

Image IPB Image IPB Image IPB Image IPB
0

#3 L'utilisateur est hors-ligne   mediaforest 

  • Mega Power Member
  • Groupe : Membres
  • Messages : 391
  • Inscrit(e) : 29-avril 05
  • Gender:Male
  • Location:Mimizan
  • Interests:surf, shape
  • Mes langues:Français, Anglais, PHP, Perl, SQL, HTML, C, C++...

Posté 05 avril 2006 - 08:09

tu peux faire simplement :
$time_start = getmicrotime();

if( @fsockopen( $server[$i]['addr'], $port[$j], &$errno, &$errstr, 5) )
{
$time_end = getmicrotime();
$ping = round(($time_end - $time_start) * 1000);
if($ping <= 50) echo '<img src="online_vert.gif"/>'."\n";
if($ping > 50 AND $ping <= 200) echo '<img src="online_orange.gif"/>'."\n";
if($ping > 200) echo '<img src="online_rouge.gif"/>'."\n";
}
else
{
echo '<img src="offline.gif"/>'."\n";
$ping = 'N/A';
}



echo '</td><td align="center" bgcolor="#FFFFFF">'."\n";
echo $ping;
echo '</td></tr>'."\n";


Par contre, la fonction getmicrotime n'existe pas, c'est microtime tout court :P

Ce message a été modifié par mediaforest - 05 avril 2006 - 08:28 .

0

#4 L'utilisateur est hors-ligne   KoishA 

  • Junior Member
  • Groupe : Membres
  • Messages : 2
  • Inscrit(e) : 02-avril 06

Posté 08 avril 2006 - 17:45

Merci a tous pour vos reponses, en les lisant je vois que je me suis pas planté ^^, mais je vais corriger les fautes que vous m'avez signaler... (pour le getmicrotime() )
J'ai reussi a trouver seul avant de revenir vérifier le forum :-P
Désolé si vous voyez des absurdités mais je débute tout juste le PHP ^^

Merci encore, j'hésiterais pas à revenir vu l'aide bien sympa que j'ai eu :P
(bien entendu, uniquement si je m'en sort vraiment pas seul cette fois-ci :P )
0

#5 Invité

  • Groupe : Invités

Posté 01 décembre 2008 - 06:17

heuuu ya un bug dans ton programme xD

la fonction getmicrotime est une fonction qui permet de séparer les millisecondes des microsecondes

en clair, ta un ping négatif a chaque fois que le script se fait entre 2 secondes.....

function getmicrotime() 
{ 
 list($usec, $sec) = explode(" ",microtime()); 
 return ((float)$usec + (float)$sec); 
} 
 
 
$time_start = getmicrotime(); 
$time_end = getmicrotime(); 
$time = $time_end - $time_start;</code>

0

#6 L'utilisateur est hors-ligne   Dylav 

  • Modérateur JRAD
  • Groupe : Modérateur [Dylav]
  • Messages : 2322
  • Inscrit(e) : 16-septembre 05
  • Gender:Male
  • Location:Paricentre
  • Mes langues:Français

Posté 01 décembre 2008 - 08:44

Le problème semble avoir trouvé sa solution.
Ainsi, afin de signaler clairement à ceux qui ont un problème similaire qu'ils ont peut-être une solution toute trouvée (s'ils pensent à utiliser la fonction Recherche en indiquant le mot-clé "résolu" auparavant), et afin de signaler aux autres contributeurs qu'il est inutile de continuer à se creuser la tête sur le problème (à moins d'avoir des suppléments d'informations à apporter pour mieux comprendre ce qui posait problème), un modérateur a préfixé le titre du topic avec la mention [résolu].
Merci, à l'avenir, de bien vouloir prendre à votre charge cette mise à jour quand vous estimez que votre problème a été résolu de manière satisfaisante (et parallèlement, si le problème a disparu "mystérieusement", inutile d'induire les gens en erreur :P) Pour cela, Image IPB votre premier message :P
0

Partager ce sujet :




Réponse rapide

  

Sujets similaires
  Sujet Commencé par Statistiques Infos sur le dernier message
Sujet chaud (nouvelles réponses) Icône Adresse IP dynamique sans serveur proxy ? [Résolu]
Dangers de l'IP fixe
etiab 
  • 20 réponses
  • 325 vues
Sujet ouvert (nouvelles réponses) Icône Conversion NTFS en FAT32 [RESOLU]
Conversion obligatoire pour sauvegarde de DD de console
gil210 
  • 3 réponses
  • 28 vues
Sujet ouvert (nouvelles réponses) Icône A propos des modules complementaires de Firefox... nazimdoran 
  • 3 réponses
  • 153 vues
Sujet ouvert (nouvelles réponses) Icône [resolu] soucis disque dur ! Carte mère dd HS !!
Achatez le même modelèle et changez Carte PCB ! ;)
Alex36 
  • 11 réponses
  • 182 vues
Sujet ouvert (nouvelles réponses) Icône [Résolu] Vista vers Seven
Reste un rep "windows.old"
tiamat69fr 
  • 3 réponses
  • 85 vues
Sujet chaud (nouvelles réponses) Icône Ouverture d'une fenêtre au démarrage (RESOLU)
Fenètre " nouveau matériel détecté" à chaque démarrage
Captainigloo 
  • 16 réponses
  • 362 vues
Sujet chaud (nouvelles réponses) Icône Black Screen of Death [RESOLU] christophe.moyne 
  • 45 réponses
  • 655 vues
Sujet chaud (nouvelles réponses) Icône Deux logiciels de sauvegarde ? [Résolu]
Sauvegarde système+programmes et savegarde données
etiab 
  • 15 réponses
  • 1207 vues
Sujet ouvert (nouvelles réponses) Icône Envoi de ping vers IP inconnue zwap 
  • 6 réponses
  • 136 vues
Sujet ouvert (nouvelles réponses) Icône [RESOLU] VLC : ouvrir un dossier MP3 et lire tout contenu
(sans créer listes lecture)
Grandson 
  • 10 réponses
  • 177 vues

1 utilisateur(s) en train de lire ce sujet
0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)