Script php compteur téléchargement
Hello,
J'aimerais avoir un script en php pour ajouter un compteur de téléchargement sans base de données afin de suivre le nombre de téléchargement de chaque fichier.
Le lien serait du style : download.php?file="nom du fichier"
Je fais appel à vous car je ne suis pas assez compétent dans ce domaine.
J'ai fais des recherches sur le net mais ceux que j'ai trouvé ne fonctionnent pas, le fichier ne se télécharge pas.
Est-ce quelqu'un aurait ce script sous la main ?
Merci
Jol5926
J'aimerais avoir un script en php pour ajouter un compteur de téléchargement sans base de données afin de suivre le nombre de téléchargement de chaque fichier.
Le lien serait du style : download.php?file="nom du fichier"
Je fais appel à vous car je ne suis pas assez compétent dans ce domaine.
J'ai fais des recherches sur le net mais ceux que j'ai trouvé ne fonctionnent pas, le fichier ne se télécharge pas.
Est-ce quelqu'un aurait ce script sous la main ?
Merci
Jol5926
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Voilà un exemple de script que j'utilise
il faut à la racine du site
- un dossier : hits
- un dossier : downloads
mettre les fichiers à télécharger dans le dossier downloads
les compteurs sont stockés dans le dossier hits sous la forme monfichier.zip.txt
le script est à copier à la racine du site
apres faut adapter les chemins au debut du script si tu veux changer les emplacements
le script "download.php" est à appeler de cette façon:
download.php?file=monfichier.zip
nb: pour info il me semble que le script ne fonctionne pas chez free.fr à cause de l'utilisation des instructions php flock qui font parties des fonctions php interdites chez cet hébergeur
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
Ca fonctionne parfaitement.
Est-il possible d'afficher à côté du fichier à télécharger le nombre de téléchargement ?
Merci
Hello,
Oui, il existe un plugin de téléchargement qui permet d'ajouter un compteur mais pour un seul téléchargement par page.
J'ai plusieurs fichiers en téléchargement sur la même page.
Personne ne sait s'il est possible d'afficher à côté du fichier à télécharger le nombre de téléchargement, donc de récupérer les données du fichier texte et de les afficher sur la page de l'article ?
Merci
Combien de fichiers à télécharger prévoit tu d'avoir en tout et pour tout et combien sur un même article ?
Car la le compteur du script au dessus ne me semble pas idéal pour ce que tu demande si tu compte afficher beaucoup de fichiers sur la meme page.
Buster/NGINX/PHP7/PluXml5.8
Hello,
Sur la même page, il y aura 15 à 20 fichiers qui pourront être téléchargés.
A moins que quelqu'un ai mieux à proposer
Salut, En partant du script ci-dessus, le mieux serais d'enregistrer les compteurs dans un seul fichier.
Donc : download.php (que tu appellera par download.php?file=monfichier.zip )
ensuite il faudrait faire un Template pour cet article (article-xxx.php) ou dans ce template tu mettrais en dessous de la boucle article et au dessus de l’appel au fichier de commentaire la liste des fichiers à télécharger exemple :
Enfin avec un peu plus de mise en page bien sur.
Le compteur sur la page ne s’incrémentera qu'après avoir rafraîchi la page.
Edit : Attention cependant car la personne pourras télécharger tout fichier se trouvant dans le dossier $downloads y compris des fichiers php présents en tapant simplement dans l'url download.php?file=index.php ou autres scripts php que tu pourrais avoir dans ce dossier là
Edit 2 : Petite correction du second script et petit ajout d'un regex dans le premier script pour ne garder que les caractères a-zA-Z0-9_.- dans les noms de fichiers.
Buster/NGINX/PHP7/PluXml5.8
Peut-etre faudrais lui rajouter une petite couche de protection au niveau de la determination des noms de fichiers
Buster/NGINX/PHP7/PluXml5.8
Maintenant vu le contexte d'utilisation c'est vrai que c'est pas génial de devoir lire 20 fichiers pour récupérer les infos et afficher les compteurs.
Est-ce que c'est vraiment utile d'afficher les compteurs ?
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
Merci pour vos retours.
Je vais regarder ça de plus près.
Pourquoi utiliser dirname(__FILE__), il existe la constante __DIR__
Comme il existe la constante __CLASS__
voir doc php
Accès à mon dépôt de plugins et thèmes
installe PluXml plus vite que ton ombre avec kzInstall2
Oh, simplement parce que j'ai bêtement recopié le script d'origine pour le transformer en un fichier xml à lire plutot qu'en 20 fichiers à lire.
C'est sur, il y as de l'amélioration à faire surtout dans le deuxieme script, celui pour l'article puisque l'on est dans un contexte de template pluxml mais mon but était principalement de poser une base de un fichier hits à lire au lieu de 20.
Edit: Petite correction du second script qui devrais maintenant fonctionner correctement.
Buster/NGINX/PHP7/PluXml5.8
étant un vieux de la vieille j'ai encore l'habitude d'utiliser dirname(__FILE__) mais aussi pour une histoire de compatibilité de PluXml avec les version de php < 5.3
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
je reviens vers vous pour votre aide.
J'ai une page du site avec des liens pour ouvrir des fichiers pdf en lecture dans un popup. J'aurais aimé créer un lien pour compter le nombre de clic sur chaque fichier afin de savoir ceux les plus ouvert.
Les fichiers en pdf ne sont pas téléchargés mais simplement ouvert en lecture.
Est-ce qu'on peut utiliser le script ci-dessus (#2) et si oui comment le modifier ?
ou
Avez-vous un autre script à me proposer ?
Merci
Bien que pour le PDF cela risque de dépendre que la personne ai un lecteur embarqué et activé ou non dans son navigateur.
En modifiant la fin du script comme tel cela devrais faire ce que tu as envie.
Buster/NGINX/PHP7/PluXml5.8
http://forum.pluxml.org/viewtopic.php?id=4606
et cela fonctionne très bien, exemple :
http://refok.fr/index.php?article126/beigeseo-pluxml
mes sites principaux : fonds d'écran gratuits - longue traîne - référencer votre site - brocante en ligne -
Salut, sauf erreur de ma part, cela ne permet pas d'avoir 15 fichiers par page/article avec leurs compteurs respectifs. D'où la discussion et les codes qui ont suivis
Buster/NGINX/PHP7/PluXml5.8
Je confirme que ce plugin fonctionne très bien mais on ne peut mettre qu'un fichier à télécharger par page.
Comment fais-tu si tu as plusieurs fichiers à télécharger sur la même page avec ce plugin ?
Pour moi c'est impossible !
mes sites principaux : fonds d'écran gratuits - longue traîne - référencer votre site - brocante en ligne -
Merci