Aide en PHP
Fermé
steph2611
Messages postés
208
Date d'inscription
mercredi 10 septembre 2008
Statut
Membre
Dernière intervention
24 août 2018
-
14 avril 2009 à 11:27
penegal Messages postés 318 Date d'inscription lundi 22 décembre 2008 Statut Membre Dernière intervention 31 janvier 2014 - 19 juil. 2009 à 19:46
penegal Messages postés 318 Date d'inscription lundi 22 décembre 2008 Statut Membre Dernière intervention 31 janvier 2014 - 19 juil. 2009 à 19:46
A voir également:
- Aide en PHP
- Easy php - Télécharger - Divers Web & Internet
- Php?id=1 - Forum PHP
- Fichier php en pdf ✓ - Forum PDF
- Php if plusieurs conditions ✓ - Forum PHP
- -> En php - Forum PHP
11 réponses
penegal
Messages postés
318
Date d'inscription
lundi 22 décembre 2008
Statut
Membre
Dernière intervention
31 janvier 2014
27
14 avril 2009 à 15:13
14 avril 2009 à 15:13
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 ^^
benvii
Messages postés
308
Date d'inscription
dimanche 8 juin 2008
Statut
Membre
Dernière intervention
28 octobre 2010
137
14 avril 2009 à 15:35
14 avril 2009 à 15:35
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'); ?>
steph2611
Messages postés
208
Date d'inscription
mercredi 10 septembre 2008
Statut
Membre
Dernière intervention
24 août 2018
31
14 avril 2009 à 16:59
14 avril 2009 à 16:59
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
benvii
Messages postés
308
Date d'inscription
dimanche 8 juin 2008
Statut
Membre
Dernière intervention
28 octobre 2010
137
14 avril 2009 à 17:26
14 avril 2009 à 17:26
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
steph2611
Messages postés
208
Date d'inscription
mercredi 10 septembre 2008
Statut
Membre
Dernière intervention
24 août 2018
31
14 avril 2009 à 19:06
14 avril 2009 à 19:06
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 ... :-)
benvii
Messages postés
308
Date d'inscription
dimanche 8 juin 2008
Statut
Membre
Dernière intervention
28 octobre 2010
137
14 avril 2009 à 21:15
14 avril 2009 à 21:15
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.
steph2611
Messages postés
208
Date d'inscription
mercredi 10 septembre 2008
Statut
Membre
Dernière intervention
24 août 2018
31
15 avril 2009 à 09:01
15 avril 2009 à 09:01
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
benvii
Messages postés
308
Date d'inscription
dimanche 8 juin 2008
Statut
Membre
Dernière intervention
28 octobre 2010
137
15 avril 2009 à 10:16
15 avril 2009 à 10:16
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.
penegal
Messages postés
318
Date d'inscription
lundi 22 décembre 2008
Statut
Membre
Dernière intervention
31 janvier 2014
27
19 juil. 2009 à 18:40
19 juil. 2009 à 18:40
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 =( )
++
giheller
Messages postés
1875
Date d'inscription
dimanche 14 juin 2009
Statut
Membre
Dernière intervention
3 février 2024
142
19 juil. 2009 à 19:15
19 juil. 2009 à 19:15
Bonsoir,
pourquoi ne pas écrire un script php qui lit le fichier log et qui créée un tableau de comptage ....
pourquoi ne pas écrire un script php qui lit le fichier log et qui créée un tableau de comptage ....
penegal
Messages postés
318
Date d'inscription
lundi 22 décembre 2008
Statut
Membre
Dernière intervention
31 janvier 2014
27
19 juil. 2009 à 19:46
19 juil. 2009 à 19:46
on peut
ou une base mysql qui incrémente la valeur de 1 a chaque dl ...
ou une base mysql qui incrémente la valeur de 1 a chaque dl ...