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

PUBLICITÉ

  • Annonces Google

#2 L'utilisateur est hors-ligne   KewlCat 

  • Modérateur
  • Groupe : Modérateur [KewlCat]
  • Messages : 26695
  • Inscrit(e) : 04-décembre 00

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 : 406
  • Inscrit(e) : 29-avril 05

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 - 05: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
  • Groupe : Modérateur [Dylav]
  • Messages : 5986
  • Inscrit(e) : 16-septembre 05

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



Réponse rapide

  

Similar Topics
  Sujet Commencé par Statistiques Infos sur le dernier message
Sujet chaud (nouvelles réponses) Besoin d'un coup de pouce SVP Dancamelonat 
  • 15 réponses
  • 291 vues
Sujet ouvert (nouvelles réponses) [Résolu] Matlab
Import de fichier texte sur certaines colonnes
antoineleb 
  • 2 réponses
  • 58 vues
Sujet ouvert (nouvelles réponses) Besoin d'éradication pour une future optimisation Minoskam 
  • 1 réponses
  • 5 vues
Sujet ouvert (nouvelles réponses) [Résolu] Problème d'installation Asus P8Z68 Deluxe
Erreur A3
Freddy 16 
  • 3 réponses
  • 197 vues
Sujet ouvert (nouvelles réponses) Vraiment besoin d'aide un pc propre svp ! 
  • 3 réponses
  • 66 vues
Sujet ouvert (nouvelles réponses) [Résolu] VB6 - savoir ligne sélectée dans grille avec clic droit
Utiliser MSFlexGrid1 control avec MouseRow
Notpa 
  • 2 réponses
  • 66 vues
Sujet ouvert (nouvelles réponses) [Résolu] Virus violent, grand besoin d'aide Ewee 
  • 2 réponses
  • 99 vues
Sujet ouvert (nouvelles réponses) [Résolu] Seconde étape… charlotine 
  • 11 réponses
  • 214 vues
Sujet ouvert (nouvelles réponses) Problème WiFi imprimante Canon MG6250 (résolu) lstam 
  • 3 réponses
  • 73 vues
Sujet ouvert (nouvelles réponses) [Résolu] Alimentation batterie
Plus de charge
didoumae 
  • 4 réponses
  • 231 vues

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