ooiimm
Messages postés17Date d'inscriptionmercredi 13 avril 2005StatutMembreDernière intervention 4 mai 2005
-
18 avril 2005 à 12:46
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 2007
-
18 avril 2005 à 18:35
Salut
J'ai une gallerie dans laquelle j'ai fait un compteur de clic pour un genre de cote de popularité de chaque image.
Je sais faire fonctionner le compteur avec un fichier, mais j'ai
environ 200 photos alors je voudrai faire un seul fichier qui
comptabilise tous les clics de toutes les images.
Pour le moment j'utilise ces codes :
Pour lire le fichier
Affiché
<?php
$fichier = 'clic/04.txt'; // on déclare le nom du fichier à ouvrir
$taille = filesize($fichier); //donne la taille du fichier
$fp = fopen($fichier,'r'); //ouverture du fichier en lecture seule
while(!feof($fp)) //feof indiquera la fin du fichier, donc dans cette boucle, le fichier est parcouru jusqu 'à la fin
{
$ligne = fgets($fp,$taille); //lecture du fichier et stockage dans la variable ligne
print $ligne.''; //affiche la ligne à l'écran, n'oubliez pas le
qui est le retour à la ligne html
}
fclose($fp); //pensez à refermer à la fin du script
?> fois.
Et pour écrire un clic de plus :
<?
$fichier = 'clic/'.$_GET['id'].'.txt';
$fp = file($fichier);// ici j'utilise file()cette fonction stock le
contenu du fichier sous forme d'un tableau (array) dans la variable $fp
$compteur = $fp[0] + 1; // on ajoute 1 au compteur actuel
$nouveau = fopen($fichier,'w+'); //on ouvre le fichier en écriture
fwrite($nouveau,"$compteur \n"); // on écrit le nouveau numéro de
compteur dans le fichier, en supprimant les anciennes données, le
fichier est créé s'il n'existe pas
fclose($nouveau); //on referme le fichier
?>
Deux codes que j'ai trouvé sur le web.
Quelqu'un peux m'expliquer comment utiliser qu'un seul fichier avec 200
lignes, et pouvoir naviguer dans ce fichier pour lire les clics ?
Mes photos s'appellent Image01 Image02 etc donc il serai facile de s'y retrouver Premiere ligne > Image 1 etc etc
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 18 avril 2005 à 13:45
Hello,
ca ne va pas etre super pratique...une bdd serait mieux.
mais si tu y tiens...
D'abord, comme tu vas modifier n'importe quel endroit de ton fichier
texte, je te conseille de separer chaque "ligne" avec un retour
chariot, par exemple, ou un autre caractere.
Le mieux etant meme un truc du genre :
image0001:5;image0002:15
etc...
Ensuite tu lis ton fichier, et tu l'explode (explode() ) sur ce
caractere. Ainsi tu auras chaque image et clic dans une entree d'un
tableau.
genre $tab[0] = 'image0001:5';
ensuite il est facile de modifier avec un substr() ton clic. Quant a
trouver la bonne ligne, c'est simple aussi : la clef 0 sera ton image
1, la clef 2 ton image 3 etc...(mais tu peux aussi cvhanger ca
evidemment).
Puis tu fais un implode() de ton tableau avec le separateur choisi, et tu reecris ton fichier (completement, en l'ecrasant).
Idem pour lire, evidemment.
A mon avis, c'est une solution lourde. Une base serait bien mieux.