Téléchargement

Signaler
Messages postés
66
Date d'inscription
lundi 12 mars 2007
Statut
Membre
Dernière intervention
5 mai 2009
-
Messages postés
11
Date d'inscription
samedi 13 janvier 2007
Statut
Membre
Dernière intervention
9 juin 2009
-
Bonjour,
J'ai trouvé cette classe php qui me permet de modifier la vitesse de téléchargement d'un fichier.
Lien
Il marche mais j'aimerais rajouter un option qui stoque l'ip du visiteur dans une bdd pour qu'il ne puisse pas avoir plusieurs téléchargements simultanéments.
L'ip dois bien sur être retiré après le téléchargement et aussi si il anulle son téléchargement..

Seul problème :
Je n'ai aucune idée de comment je peux faire sa.

Pouvez-vous m'aider?

1 réponse

Messages postés
11
Date d'inscription
samedi 13 janvier 2007
Statut
Membre
Dernière intervention
9 juin 2009

Bonjour,

1) tu récupères l'IP de ton client : $_host=gethostbyaddr($_SERVER['REMOTE_ADDR']);

2) si il clique le lien pour DL ton fichier tu enregistres l'IP dans la table de ton choix

3) tu veux retirer l'enregistrement lorsqu'il annule le téléchargement ou lorrsque le DL est terminé

   a) annuler : soit via un bouton HTML avec une variable de type POST tu donnes l'ordre d'arrêter le DL et donc en même temps tu donnes l'ordre de retirer l'IP ( que tu as stocké prélablement dans une variable dans l'étape ci-dessus pour la retrouver dans la table  ), soit tu utilises un lien avec une variable type GET

   b) retirer l'IP à la fin du DL, pour cela pas tellement de solutions précises PHP n'étant pas évènementiel.
      b.1) soit tu définis un temps de DL approximatif et suffisamment large pour "estimer" qu'après x secondes la plus faible des connexions internet aura fini le DL et après ce temps tu retires l'IP de la table
      b.2) soit tu estimes la vitesse de connexion de ton visiteur en train de DL et tu te bases sur cette valeur "à peu près" ( car le débit n'est pas forcément régulier ) - voir http://www.google.fr/search?hl=fr&q=vitesse+de+connexion+javascript&btnG=Rechercher&meta=
Pour cela il faut un champs " timer " dans la table pour que lorsqu'il clique une 2nde fois sur DL tu puisses vérifier que le délai écoulé est suffisamment long pour penser que le DL est bel est bien terminé

Voilà tout ce que je peux te dire, mais à quoi sert de limiter le DL ? Tu DL souvent plusieurs fois le même fichier en même temps ?