Aller au contenu

Sujets conseillés

Posté

Bonjour,

J'ai fait un script en php qui écrit dans un fichier texte et affiche ce dernier sur la page (ou une autre, c'est pas important)

Je voudrais numéroter les différentes écritures afin de pouvoir afficher le nombres de contributions du fichier texte.

Je ne sais pas comment m'y prendre pour écrire dans le fichier texte une valeur qui ne sera pas "écrite au clavier"... :blink:

Après, il faut que l'incrémente (je viens de me renseigner ;) ) avec des ++, mais c'est une autre histoire. :lol:

Si j'arrive déjà à la créée....

Je crois que je vais avoir besoin de votre aide... :whistling:

Il me semble que quelqu'un à fait récement un compteur de visites en fichier texte....

Posté

Merci JAn. :up:

En fait, ça ne m'aide pas beaucoup ce compteur, car c'est un fichier avec uniquement un chiffre.

// on se replace au début du fichier :
fseek($fp,0);
// on écrit la nouvelle valeur (a la place de l'ancienne ):
fwrite($fp,$line);

Dans mon fichier texte, il y déjà du texte!

Alors comment faire pour que lors de la réécriture du chiffre, tout mon fichier texte ne soit pas effacé? :o

Posté

Tu pourrais, tout simplement, séparer les 2 fichiers ;)

Sinon, il te faut d'un coté récupérer le texte de ton fichier, enlever la valeur de ton compteur qui n'est plus à jour, mettre une valeur de compteur 'à jour', puis rassembler les 2, et enfin remettre le tout dans le fichier.

Question, par rapport à ton fichier, où se trouvera le compteur ?

Au début, à la fin, au .. milieu ?

Posté

Question, par rapport à ton fichier, où se trouvera le compteur ?

En fait, c'est pas vraiment un compteur, je pensait m'aider de ça pour numéroter les entrées dans mon fichier texte, et pouvoir recupérer le dernier nombre afin de connaitre le nb d'entrées....

Mais peut-être, ça serait plus simple de compter les lignes de mon fichier texte! :whistling:

Je vais voir si c'est faisable... :yoot:

Posté

$fp = fopen("test.php","r");
$count=0;
while (!feof($fp)){
$x = fgets($fp);
$count++;
}
fclose($fp);
echo "<br>COUNT::".$count;

Voilà ;)

Tu remplaces test.php par etc, etc ;)

Anonymus.

Posté (modifié)

J'ai fait comme ça: j'ai compté les lignes en mettant une contribution par ligne.

Ca marche bien. ;)

[edit] J'étais en train de poster quand Anonymus l'a fait....

Merci quand même Anonymus! :up: [/edit]

Modifié par Gribouille26
Posté

Tu n'as probablement pas mis les fichiers dans les bons dossiers.

Vérifies que le fichier index.php soit dans le même répertoire que compteur.cpt.

Vérifies aussi la façon dont tu as fais ton include, en ligne 54.

Sinon, postes les lignes 50 à 55, pour voir ;)

Anonymus.

Posté

Merci Anonymus,

Comme on dit ici, je suis pas mal «nounoune!». J'avais oublié de monter le dossier compteur.cpt.

Là c'est fait et il y a un beau 0 au départ. Cela me semble parfait.

Juste à vérifier que le compteur s'incrément à chaque visite.

Je reconnais que c'est de l'apprentissage pour moi, car j'utilise Moostik et j'en suis super satisafait.

Merci beaucoup Anonymus !

Amitiés, pierre :up::)

Posté

Au lieu de :

echo substr(include("compteur.cpt"),0,0);

tu peux mettre :

include("compteur.cpt");

C'est pareil.

Pour ton problème de compteur qui ne s'incrémente pas, c'est assurément un problème de droits (chmod). Mets les chmod du fichier compteur.cpt à 777, et ca devrait régler le problème.

Anonymus.

Posté

Écoute Anonymus, je te trouve super patient et gentil.

Et, malgré toute mon ignorance, je viens de réussir.

ah ah ah ! Toutes mes félicitations à toi... Et je suis bien content d'avoir réussi et compris un peu.

J'ajoute que les infos m'apparaissent vraiment très bien écrites. Il suffit de les suivre à la lettre. C'est ça qui est difficile pour moi.

Amitiés, pierre

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...