Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

tangui

[PHP]Calculer la vitesse de connexion utilisateur

Messages recommandés

Salut!

Voici mon problème, j'aimerai savoir si une personne qui surfe sur mon site (ou n'importe quel autre) est en 56k ou adsl...

La seule solution que j'ai trouvé est de calculer le temps de chargement de la page, puis de faire la division en fonction de la taille de mon fichier.. Mon code donne ceci:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
   <head>
       <title>[email protected]'S HOUSE</title>

   </head>
   <body>
       <?
       $temps = microtime ();
       $temps = explode (" ", $temps);
       $temps = $temps[1] + $temps[0];
       $chrono_start = $temps;
       ?>
       <div class="titre">
           <img src="images/Webmaster_tangui.gif" width="30" height="26" border="0" alt=""> [email protected]'S HOUSE
       </div>
       <p class="menufixe">
           Mon menu on s'en fou
       </p>
       <div class="centre">
           <?php
           if (isset($_GET['page']))
           {
           
           switch ($_GET['page']) {
           case "liens":
           include("chemin_vers/liens.php3");
           $poids = filesize("chemin_vers/liens.php3");
           break;
           case "CV":
           include("chemin_vers/CV.php3");
           $poids = filesize("chemin_vers/CV.php3");
           break;
           Le reste c'est pareil
           default:
           break;
           }
           }
           else
           {
           include("chemin_vers/news.php3");
           $poids = filesize("chemin_vers/news.php3");
           }
           ?>
       </div>


       <div class="bas">
           
           <p>Webmaster: <a href="mailto:[email protected]">tangui</a>     Dernière MAJ: lundi 18 octobre 2004<br />
           © 2001-2004 Tangui's house Version 3 Tous droits réservés...</p>
      
        <?
       $temps = microtime ();
       $temps = explode (" ", $temps);
       $temps = $temps[1] + $temps[0];
       $chrono_finish = $temps;
       $temps_generation = $chrono_finish - $chrono_start;
       $poidsTotal = filesize("index.php3") + $poids;
       $poidsTotalKo = $poidsTotal/1024;
       
       echo '<p>Page générée en '.number_format ($temps_generation, 4,',','').' s';
       $vitesse= $poidsTotalKo / $temps_generation;
       $vitesse_arrondie = ceil($vitesse);
       echo ' -- Vitesse connexion:'.$vitesse_arrondie."ko/s </p>";


               

       ?></p>
        </div>
   </body>
</html>

 

Vous pouvez tester sur tout le site:

http://orangetanguine.free.fr/

Mais vous verrez en bas, que les chiffres sont assez enormes... J'ai meme demandé à jeanbi qui navigue le pauvre encore en 56k, et bien, ca donne ceci:

page afficher en 0.0009s vitesse 6775 kos

C'est pas mal pour du 56k n'est ce pas??

Donc, le probleme est: comment je peux faire pour savoir si la connexion de l'utilisateur est en 56k ou non??Dois je avoir des pages lourdes??

toutes les idées seront bon à prendre...

merqui!

tangui

Partager ce message


Lien à poster
Partager sur d’autres sites

Bah, je crois qu'il y a un prob sur ton script depuis le début.

 

PHP crée la page et ensuite l'envoie, donc tu calcules le temps du script.

Alors tu extrapoles sur le temps de transfert ..... qui se fait après ton script !!

 

Pour connaitre ton temps de téléchargement de ta page, il faudrait que tu passes par un javascript au minimum !!

 

Myki ... rohhh l'erreur de newbie

Partager ce message


Lien à poster
Partager sur d’autres sites

Hein, c'est la plus utilisé ???

 

Je vois deux trucs incompatibles :

- php est avant le chargement de la page

- la page est trop faible pour etre vraiment fiable pour la vitesse (surtout qu'il compte que le texte meme da page et pas les images).

 

Pour compter en php, tu peux faire un test sur un envoi (le truc avec un header ) et compte la fin de l'envoie d'un fichier type (d'un certains poids).

 

En javascipt, je sais pas du tout mais ce que je sais, c'est que le décompte à partir de la vitesse d'execution d'un script ne marche pas... :P

 

Myki

Partager ce message


Lien à poster
Partager sur d’autres sites
j'ai comme un doute sur une fonction

tu confirmes mes doutes...J'ai testé au moins....

faut vraiment que je trouve une solution...

Trouvé sur un site:

http://toutjavascript.com/source/countkos.html

un truc...

en fait, il calcule le temps mis a téléchargé une image...

vais réfléchir à une méthode similaire mais c'est pas gagné

EDIT: ca fonctionne, mais le probleme, c'est que je ne peux pas récupérer la valeur... En effet, javascript s'execute coté client, et php coté serveur...

Ce que je veux faire, c'est cacher un lien si la connexion est de l'adsl....

Vais devoir me plonger dans le javascript...

Partager ce message


Lien à poster
Partager sur d’autres sites
Quelqu'un sait il comment faire pour afficher ou cacher du texte en fonction du résultat d'une fonction javascript??

428878[/snapback]

 

salut,

 

Si t'avais un bout de code pour mieux comprendre ce doit être chaché et comment ??!!!

Pour info g déjà utilisé le script : http://toutjavascript.com/source/countkos.html

ca fonctionne très bien.....

Partager ce message


Lien à poster
Partager sur d’autres sites

En gros:

si connexion de type 56k: afficher un texte pour 56k

Si connexion de type adsl: afficher un texte pour adsl

Apres, que ce soit dans un tableau ou autre, aucune importance...

(PS: toi aussi un passionné de whisky?? :P )

Partager ce message


Lien à poster
Partager sur d’autres sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.


  • En ligne récemment   0 membre est en ligne

    Aucun utilisateur enregistré regarde cette page.

×
×
  • Créer...