Aide en PHP
steph2611
Messages postés
208
Date d'inscription
Statut
Membre
Dernière intervention
-
penegal Messages postés 318 Date d'inscription Statut Membre Dernière intervention -
penegal Messages postés 318 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je recherche quelqu'un qui pourrait m'aider à ecrire le code PHP pour calculer le nombre de téléchargement d'un fichier sur mon serveur web.
j'ai essayé en m'aidant du site du zero, mais je comprends pas.
Si quelqu'un connait très bien le PHP, et qu'il peut me donner un coup de main en m'ecrivant le code d'apres les données que je lui donnerai ce serait super sympa à lui.
merci d'avance
Je recherche quelqu'un qui pourrait m'aider à ecrire le code PHP pour calculer le nombre de téléchargement d'un fichier sur mon serveur web.
j'ai essayé en m'aidant du site du zero, mais je comprends pas.
Si quelqu'un connait très bien le PHP, et qu'il peut me donner un coup de main en m'ecrivant le code d'apres les données que je lui donnerai ce serait super sympa à lui.
merci d'avance
A voir également:
- Aide en PHP
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php - Forum Webmastering
- Alert php - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
11 réponses
facile...n tu crée une base mySQL et a chaque fois que quelqu'un clique dessus, il y a une auto incrémentation de 1 ==> tu fais une simple requête pour voir le nombre dans la page et le tour est joué ^^
Voila, maintenant tu connais la technique, il te suffit plus que de le coder ^^
Voila, maintenant tu connais la technique, il te suffit plus que de le coder ^^
Salut,
Pas besoin de BDD tu peux stoker le nombre de téléchargment dans un petit fichier (ex nb.txt).
Voilà un petit code :
Normalement ce code fonctionne. Tu peux le mettre dans un page de redirection vers le fichier.
Voilà un exemple :
Pas besoin de BDD tu peux stoker le nombre de téléchargment dans un petit fichier (ex nb.txt).
Voilà un petit code :
if(file_exists("nb.txt")){$nb_down=file_get_contents("nb.txt");}else{$nb_down=0;}//On recupère le nombre si le fichier n'existe pas on met $nb_down à 0 $f=fopen("nb.txt", "w+");//On ouvre et on vide le fichier avec w+ si le fichier n'existe pas il est créé $nb_down++; //On incrémente le nombre de téléchargements echo $nb_down; //On l'affiche fwrite($f, $nb_down); //On l'incrit de la fichier nb.txt fclose($f); //On ferme le fichier
Normalement ce code fonctionne. Tu peux le mettre dans un page de redirection vers le fichier.
Voilà un exemple :
<? if(file_exists("nb.txt")){$nb_down=file_get_contents("nb.txt");}else{$nb_down=0;}//On recupère le nombre si le fichier n'existe pas on met $nb_down à 0 $f=fopen("nb.txt", "w+");//On ouvre et on vide le fichier avec w+ si le fichier n'existe pas il est créé $nb_down++; //On incrémente le nombre de téléchargements fwrite($f, $nb_down); //On l'incrit de la fichier nb.txt fclose($f); //On ferme le fichier header('location: http://monsite.com/mon_ficher_a_telecharger.doc'); ?>
Merci Penegal, mais jusqtement je ne sais pas codé :(
Par contre , ta solution benvii à l'air pratique est simple ... Juste pour savoir, le fichier nb.txt je le met où ? et le 1er code je le met dans quel fichier et où?
pareil pour le second code ?
Désolé des questions mais je suis un peu novice là dedans ...
merci encore
Par contre , ta solution benvii à l'air pratique est simple ... Juste pour savoir, le fichier nb.txt je le met où ? et le 1er code je le met dans quel fichier et où?
pareil pour le second code ?
Désolé des questions mais je suis un peu novice là dedans ...
merci encore
Prenons un exemple :
Nous sommes dans le dossier dir de monsite.com c'est à dire dans http://monsite.com/dir/ le fichier à télécharger ce nomme C.doc et est dans dir.
J'ai un script A.php dans ce script j'ai le code de ma page HTML qui présente le fichier à télécharger. Dans ce même script (A.php) j'ai un lien vers le script B.php.
Le script B.php est une redirection vers C.doc, ce script (B.php) vas aussi comptabiliser le nombre de fois ou on le charge donc le nombre de redirections et par conséquent le nombre de fois ou on a téléchargé le fichier C.doc.
C'est dans B.php que tu mets ceci :
On résume : A.php (script ou j'ai le lien pour télécharger C.doc) quand je clique sur http://monsite.com/dir/B.php -> B.php comptabilise (il ajoute 1 à http://monsite.com/dir/nb.txt) puis me redirige vers C.doc -> C.doc je télécharge le fichier.
On peut imager en disant que B.php est un compteur qui compte toutes les personnes qui passent par lui pour arriver à C.doc et enregistre ce nombre dans nb.txt.
Si tu veux afficher le nombre de téléchargement tu mets ceci si tu es dans dir : <? echo file_get_contents("nb.txt"); ?>
Nous sommes dans le dossier dir de monsite.com c'est à dire dans http://monsite.com/dir/ le fichier à télécharger ce nomme C.doc et est dans dir.
J'ai un script A.php dans ce script j'ai le code de ma page HTML qui présente le fichier à télécharger. Dans ce même script (A.php) j'ai un lien vers le script B.php.
Le script B.php est une redirection vers C.doc, ce script (B.php) vas aussi comptabiliser le nombre de fois ou on le charge donc le nombre de redirections et par conséquent le nombre de fois ou on a téléchargé le fichier C.doc.
C'est dans B.php que tu mets ceci :
<? if(file_exists("nb.txt")){$nb_down=file_get_contents("nb.txt");}else{$nb_down=0;}//On recupère le nombre si le fichier n'existe pas on met $nb_down à 0 $f=fopen("nb.txt", "w+");//On ouvre et on vide le fichier avec w+ si le fichier n'existe pas il est créé $nb_down++; //On incrémente le nombre de téléchargements fwrite($f, $nb_down); //On l'incrit de la fichier nb.txt fclose($f); //On ferme le fichier header('location: http://monsite.com/dir/C.doc'); ?>
On résume : A.php (script ou j'ai le lien pour télécharger C.doc) quand je clique sur http://monsite.com/dir/B.php -> B.php comptabilise (il ajoute 1 à http://monsite.com/dir/nb.txt) puis me redirige vers C.doc -> C.doc je télécharge le fichier.
On peut imager en disant que B.php est un compteur qui compte toutes les personnes qui passent par lui pour arriver à C.doc et enregistre ce nombre dans nb.txt.
Si tu veux afficher le nombre de téléchargement tu mets ceci si tu es dans dir : <? echo file_get_contents("nb.txt"); ?>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Re,
Merci de cette explication qui m'a l'air très claire sur le papier, faut juste que j'arrive à l'appliquer maintenant ;-) Je ferai ca demain, je n'ai pas accès à mon site ce soir ...
Petite question subsidiaire : Quelque soit le moyen de téléchargement, il va compter ??
C'est à dire que en gros j'ai 3 fichiers à télécharger : 2 qui se feront par un mail et qui sera envoyer sous forme de lien du style : http;//monsite.com/profiles/fichier1.exe et fichier2.exe => ca il le comptera on est d'accord ?
mais j'ai un troisieme fichier qui se téléchargera via une application c'est donc un soft qui va aller chercher le .exe ... Ca comptera aussi ?
Merci encore et je te tiens informé de mon avancé dans ce qui est pour moi un exploit si je le mets en place ... :-)
Merci de cette explication qui m'a l'air très claire sur le papier, faut juste que j'arrive à l'appliquer maintenant ;-) Je ferai ca demain, je n'ai pas accès à mon site ce soir ...
Petite question subsidiaire : Quelque soit le moyen de téléchargement, il va compter ??
C'est à dire que en gros j'ai 3 fichiers à télécharger : 2 qui se feront par un mail et qui sera envoyer sous forme de lien du style : http;//monsite.com/profiles/fichier1.exe et fichier2.exe => ca il le comptera on est d'accord ?
mais j'ai un troisieme fichier qui se téléchargera via une application c'est donc un soft qui va aller chercher le .exe ... Ca comptera aussi ?
Merci encore et je te tiens informé de mon avancé dans ce qui est pour moi un exploit si je le mets en place ... :-)
Dans aucun de tes exemples ça comptera. Dans le système que je te présente tu dois passer par un fichier .php qui ensuite rendirige vers le fichier à télécharger ceci ne fonctionne qu'avec un navigateur web.
Néanmoins, je pense que tu as certainement accès aux log (logs apache) avec ton hébergeur et là (avec ces logs) tu pourras voire tout ce qui a été téléchargé sur ton serveur.
La solution que je te propose n'est pas adapté à ton problème, il existe d'autre solutions qui seraient plus adaptées mais elles sont beaucoup plus complexes car il faut manipuler les headers (Content-Type) pour simuler la présence d'un fichier avec un script PHP.
La seule solution simple c'est les logs de ton serveur renseigne toi auprès de ton hébergeur pour savoir comment tu peux y avoir accès.
Néanmoins, je pense que tu as certainement accès aux log (logs apache) avec ton hébergeur et là (avec ces logs) tu pourras voire tout ce qui a été téléchargé sur ton serveur.
La solution que je te propose n'est pas adapté à ton problème, il existe d'autre solutions qui seraient plus adaptées mais elles sont beaucoup plus complexes car il faut manipuler les headers (Content-Type) pour simuler la présence d'un fichier avec un script PHP.
La seule solution simple c'est les logs de ton serveur renseigne toi auprès de ton hébergeur pour savoir comment tu peux y avoir accès.
Ok, merci Benvii ...
Mais le serveur c'est moi le gère , les logs j'y ai accès sans soucis ... c'est un serveur sous debian , donc dans le dossier /var/log/apache2
As tu quelquechose pour moi ? un soft qui analyse ces logs ou toute autres manières ?
Effectivement quand je regarde ces logs je vois bien mes fichiers que je télécharge , date et tout plein de trucs
merci
Mais le serveur c'est moi le gère , les logs j'y ai accès sans soucis ... c'est un serveur sous debian , donc dans le dossier /var/log/apache2
As tu quelquechose pour moi ? un soft qui analyse ces logs ou toute autres manières ?
Effectivement quand je regarde ces logs je vois bien mes fichiers que je télécharge , date et tout plein de trucs
merci
Il existe certainement des outils d'analyse des log qui te permettent de voire combien de fois a été téléchargé ton fichier. Je n'en connais aucun pour l'instant.
tu fais un script simple qui crée des dossiers... et a chaque dl un dossier de plus se crée ^^
(pas pratique =( )
++
(pas pratique =( )
++