Salut !
Merci pour ton compliment.
Pour répondre à ta suggestion, tu peux tout à fait améliorer ce script pour qu'il stocke le nombre de téléchargements. C'est un peu délicat et lourd de gestion mais c'est faisable. Je m'explique :
Je dis délicat car il faut distinguer deux choses : un clic sur l'image pour l'avoir en taille réelle et un véritable téléchargement. Ce dernier peut se faire de deux manières : un 'clic droit > Enregistrer l'image sous' sur une image en particulier et un téléchargement via une archive. Dans le premier cas (le clic droit sur l'image), je ne vois pas comment le comptabiliser. Je ne connais aucune façon de le faire et je doute que cela soit possible. En revanche, il est tout à fait possible de compter lors de la création d'une archive. Quant au comptage par clic, cela n'est pas très représentatif du téléchargement...Mais c'est possible aussi.
Je dis aussi lourd de gestion car il se pose la question du stockage des compteurs. Il faut un compteur par image. Ce qui peut donc monter très vite ! Trois solutions sont possibles (comme le script fonctionne sans base de données, je ne propose pas de solution avec base de données, mais c'est tout à fait possible...) :
* Un fichier général, placé par exemple à la racine du dossier photos, dans lequel une ligne est un compteur. Cette ligne pourrait se présenter de la manière suivante : nom_du_dossier/nom_de_l_image.jpg:COMPTEUR.
* Un fichier par dossier de photos, selon le même principe que la solution précédente, mais cela permet d'isoler par sous-dossier. Toujours avec une ligne par image mais présenté de la manière suivante : nom_de_l_image.jpg:COMPTEUR (plus besoin du dossier dans ce cas).
* Un fichier par image. Au premier clic sur une image, on créé son compteur associé dans un fichier de type : nom_de_l_image.txt, dans lequel une seule ligne exite et qui contient le compteur de l'image.
Quelle que soit la solution choisie, il faut d'abord écrire une fonction qui récupère en paramètre le nom d'une image (avec ou sans le dossier dans lequel elle se trouve selon la solution choisie) et qui ouvre le fichier de compteur. Avec les 2 premières solutions, il faut faire une recherche du compteur dans le fichier, prendre la valeur actuelle du compteur l'incrémenter et la remplacer (tout ça se fait avec des expressions régulières). Avec la 3ème solution, il suffit juste le lire le contenu du fichier et de le remplacer avec le compteur incrémenté.
Reste plus qu'à mettre en oeuvre cette fonction :
* Lors d'un clic sur une image : il faut modifier le lien vers l'image. Cad qu'il faut modifier la génération des liens vers les images réelles pour que le clic oriente vers un script php plutot que l'image elle même. Ce script PHP recevrait dans l'url le nom de l'image, lancerait la fonction de comptage et redirigerait automatiquement l'utilisateur vers l'image réelle. C'est une opération quasi transparente et l'utilisateur n'aura pas l'impression de passer par une autre page avant d'arriver sur l'image.
* Lors de la création d'une archive, il faut modifier la méthode de génération de l'archive pour que celle ci incrémente le compteur de chaque image ajoutée.
Pour terminer, il faut bien sûr modifier l'affichage des vignettes pour ajouter l'affichage du compteur avec les autres infos (création d'une pseudo variable dans le template, lecture du compteur lors de la génération de la vignette et parsage de cette valeur dans le template. Il suffit juste de regarder comment les autres infos sont mises à l'heure actuelle, c'est tout simple).
Voili voilou Si tu te sens d'attaque
Je n'aurais personnellement pas le temps de faire ça, ni l'envie. Je veux avant tout qu'AlBulles soit simple et léger pour être compréhensible par tous. Il s'agit avant tout d'un exemple de mise en oeuvre de ma classe PanierDeFichier. Mais toute modification est autorisée et même encouragée. Si jamais tu développes cette modification, n'hésites pas à en faire part sur ce forum.
-------------------------------
"Keyboard not detected, press a key to continue..."