IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Ecrire à un endroit précis d'un fichier texte


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 7
    Points : 3
    Points
    3
    Par défaut Ecrire à un endroit précis d'un fichier texte
    Slt les développeurs!

    Voila jsui pas du tout calé niveau php, donc j'en appelle à vous!

    Voici le blem:

    J'ai une page HTML sur laquelle figure 3 liens, google, yahoo et msn (par exemple). Je voudrais savoir combien de fois chaque lien a été cliqué. Et mettre le tout dans un fichier txt.

    Et pour faire les choses simplement (histoire de garder une liste des 3 sites répertoriés+leurs nombres de clics dans une seul petit fichier txt), j'ai eu l'idée (ché pa si elle est bonne) de rédiger un fichier texte (listesites_et_clics.txt) contenant à chaque ligne, le nom de chaque site.
    Le fichier texte sera alors de ce type:
    www.google.fr
    www.yahoo.fr
    www.msn.fr

    et c'est la que le php intervient: dans le fichier txt, à coté de chaque site, je voudrais inscrire et incrémenter au fur et à mesure le nb de clics auxquels chaque site correspond.


    Concrètement, si il y a 10 internautes qui clic sur google, 5 sur yahoo et 2 sur msn, le script php inscrira et incrémentera les valeurs au bon endroit, ce qui donnera dans le fichier txt:
    www.google.fr 10
    www.yahoo.fr 5
    www.msn.fr 2

    C un peu dur a expliquer, mais j'espère que vous avez compris...

    La difficulté pour moi, c'est que pour faire ceci (si c'est possible), il faut savoir écrire (et incrémenter) à un endroit précis du fichier txt, c'est à dire juste en face du site sur lequel l'internaute à cliqué.

    ouf!

    Au fait si vous connaissez une autre méthode pour obtenir le même résultat, n'hésitez pas à m'en faire part!

    Merci de votre aide!

  2. #2
    Membre éprouvé

    Inscrit en
    Janvier 2006
    Messages
    969
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 969
    Points : 958
    Points
    958
    Par défaut
    Je ne sais pas comment faire avec ta méthode, mais puisque tu es intéressé, je te propose de stocker ton nombre de clicks dans une base de données.
    Avantages : plus facile d'y écrire, plus facile d'y lire
    Inconvénient : besoin d'une base (évidemment), le fichier n'est pas lisible directement comme un .txt

  3. #3
    Membre éclairé Avatar de Korko Fain
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    632
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 632
    Points : 718
    Points
    718
    Par défaut
    Code du fichier clicks.php (a la création, il s'étoffera plus tard)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
     
    $clicks = array();
     
    ?>
    A mettre en haut de ton fichier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    $filename = 'clicks.php';
     
    include($filename);
     
    function ajouter_click($site)
    {
        global $clicks;
     
        if( exists($clicks[$site]) )
            $clicks[$site]++;
        else
            $clicks[$site] = 1;
    }
     
    function sauvegarder_clicks()
    {
        global $filename;
     
        ob_start();
        echo("<?php\n\n");
        echo('$clicks = ');
        var_export($clicks);
        echo(";\n\n?>");
        $code = ob_get_clean();
        file_put_contents($filename, $code);
    }
    Apres, tu appel ajouter_click(nomDuSite);
    Et tu fini toujours par sauvegarder_clicks();

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Merci pour les réponses!

    Mais je voudrais savoir où je dois mettre (appeler) la fonction ajouter_click(nomdusite) et sauvegarder_clicks.

    Et aparement cette méthode n'utilise pas de fichier txt ,non?

    Est ce que le code que tu m'as donné est bon tel quel ou je doi faire quelques modifs? je l'ai testé, mais il ne retourne rien, j'ai du loupé un truc...

    Si vous avez d'autres méthodes je sui preneur! avc un minimum dexplications quand même! jdébute!lol

    Merci!

  5. #5
    Membre éclairé Avatar de Korko Fain
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    632
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 632
    Points : 718
    Points
    718
    Par défaut
    Le principe est d'enregistrer dans un fichier php sous la forme d'un tableau. Ainsi, tu pourras facilement ajouter supprimer à nimporte quelle ligne et ce très rapidement.

    Donc tout dabord tu cré le fichier (pour la premiere utilisation) avec un fichier php contenant un tableau vide.

    Ensuite, tu inclus ce fichier. le tableau se retrouve alors dans la liste de tes variables.

    La fonction ajouter_click va récuperer ce tableau (global $clicks) et ajouter 1 click au site que tu lui donne en parametres. Si le site n'est pas dans la tableau, la fonction ajoute une ligne avec le site et met 1 en nombre de clicks.

    la fonction sauvegarder_clicks va creer un tampon d'écriture (pour te détailler tout le code). Dans ce tampon, j'affiche plein de chose (echo, var_export) mais rien ne sortira vers ton écran (étrange hein ?! mais c'est voulu ^^). A la fin, je récupere ce que j'ai affiché (a savoir du texte qui correspond à du code php) et je l'enregistre dans le meme fichier que tu as chargé au début. Ainsi, les clicks sont sauvegardés.

    Donc au début tu ajoute le nom du fichier de clicks (que je t'ai donné). Tu l'inseres, tu défini les fonctions. Apres, à chaque fois que tu veux, tu fais un ajouter_click($nom_du_site); et tout à la fin de ta page, tu fait un sauvegarder_clicks();

    Besoin de plus d'infos ? ^^

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    hmmm...ok ok...

    Donc en résumé, j'ai un lien google.fr, par quelle balise je doit l'encadrer pour que le script s'exécute? et que le tableau soit incrémenter d'un clic?

    Thanx!

  7. #7
    Membre éclairé Avatar de Korko Fain
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    632
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 632
    Points : 718
    Points
    718
    Par défaut
    ajouter_click('google.fr'); ^^

Discussions similaires

  1. Ecrire à un endroit précis dans un fichier
    Par jklms dans le forum Langage
    Réponses: 7
    Dernier message: 28/01/2014, 12h03
  2. Ecrire à un endroit précis dans un fichier txt
    Par fraid49 dans le forum Général Python
    Réponses: 2
    Dernier message: 02/10/2008, 10h53
  3. Ecrire & Lire des énumérés dans un fichier Texte
    Par WebPac dans le forum Langage
    Réponses: 8
    Dernier message: 18/06/2008, 11h04
  4. Fichier + ecrire à un endroit précis
    Par fraisa1985 dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 19/03/2008, 15h22
  5. Ecrire à un endroit précis dans un fichier texte
    Par zemeilleurofgreg dans le forum Delphi
    Réponses: 4
    Dernier message: 26/06/2006, 22h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo