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 :

Enregistrer un nombre déterminé de ligne dans un fichier txt


Sujet :

Langage PHP

  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 320
    Par défaut Enregistrer un nombre déterminé de ligne dans un fichier txt
    Bonjour tout le monde ,


    Je souhaiterais enregistrer qu'un nombre limité de ligne dans mon fichier txt.
    15 pour être précis. je vous laisse ici mon code d'enregistrement . Et je vous remercie de votre aide . ( l'écriture se fait dans archives.txt )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php $fp = fopen("fichier.txt", "r");
    $don=fread($fp,2000);fclose($fp);
     
    $fp = fopen("archives.txt","a+");
        fwrite($fp,"$don");
       fclose($fp);
    ?>

  2. #2
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 322
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 322
    Billets dans le blog
    17
    Par défaut
    Quel est le problème ?

    Sinon je t'ai déjà parlé de file( ) précédemment ( http://www.developpez.net/forums/d13...e-fichier-txt/ )

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 320
    Par défaut
    Bonjour Séb,


    La je voudrais limiter le nombre de ligne a 15 car mon fichier augmentent trop en taille... donc conserver que les 15 dernières lignes par exemple.

  4. #4
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 322
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 322
    Billets dans le blog
    17
    Par défaut
    file( ) pour récupérer ton fichier ligne par ligne dans un tableau (voir doc pour plus de détails).

    Ensuite à toi de traiter le tableau selon tes besoins.

  5. #5
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 320
    Par défaut
    Bon je n 'y arrive pas je comprend le principe mais mais connaissances sont trop faible pour y arrivé seul je l 'avoue..

    donc je résume

    j 'ai un fichier txt qui contiens 15 lignes a la prochaine écriture dans le fichier il faut que la ligne la plus anciennes soit effacée pour n'avoir effectivement toujours 15 lignes

    C'est la que je bloque avez vous qq exemples de fonction faisant cela . Pas de script tout fait mais des explications sur la hiérarchie d'un tel script

  6. #6
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 320
    Par défaut
    Bon déj& j 'ai mon nombre de ligne

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    <?php
     
     
     
     
        $fichier='Arc.txt';
    $array_file_content = array();
    $file_content = '';
    // le fichier
    $handle = @fopen("Arc.txt", "r" );
    // lecture & copie dans une variable
    if ($handle) {
       while (!feof($handle)) {
          $file_content .= fgets($handle, 4096);
     
     
       }
       fclose($handle);
     
     
    // explosion en tableau
    $array_file_content = explode("\n",$file_content);
    // lecture du tableau à l'envers
    $nb_lines = count($array_file_content); // nombre de lignes
     
    echo"$nb_lines";
    echo"<br>";
     
     
    /// c'est la que je ne vois comme faire  si  if ( $nb_lines >= 15 ) effacer la dernière ligne je ne suis pas loint n 'est pas
     
     
     
    }
     
     
    ?>

  7. #7
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Lire la doc que t'a indiqué Séb. t'aiderait sans doute : http://fr2.php.net/manual/fr/function.file.php
    Ton code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    // le fichier
    $handle = @fopen("Arc.txt", "r" );
    // lecture & copie dans une variable
    if ($handle) {
       while (!feof($handle)) {
          $file_content .= fgets($handle, 4096);
     
     
       }
       fclose($handle);
     
     
    // explosion en tableau
    $array_file_content = explode("\n",$file_content);
    Est parfaitement équivalent à celui-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $array_file_content = file("Arc.txt");
    Ensuite pour manipuler ton tableau, tu as array_push qui ajoute des éléments à la fin du tableau et array_shift qui retire des éléments au début du tableau.

    Donc
    - tu lis le fichier dans un tableau avec file
    - tu ajoutes les nouvelles lignes à la fin du tableau en utilisant array_push
    - tu comptes le nombre de lignes dans le tableau
    - tu calcules le nombre de lignes en trop
    - tu retires avec array_shift autant de lignes qu'il y a de lignes en trop.
    - tu écris le tableau dans le fichier
    - tu remets le tableau dans le fichier avec file_put_contents
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  8. #8
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 320
    Par défaut
    Bonsoir Celira,

    Et merci de tes conseils. je vais donc tout reprendre depuis le debut

    1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $array_file_content = file("Arc.txt");
    Cela remplace tout le code ?

  9. #9
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 322
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 322
    Billets dans le blog
    17
    Par défaut
    Suffit de tester.

  10. #10
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 320
    Par défaut
    Bonjour,

    Je sais que vous êtes la pour m 'aider a comprendre mais la je suis désolé
    je ne comprends pas ce que veux dire Celira par "Est parfaitement équivalent à celui-ci :" De mon cotés mon projet est complètement gratuit il n y rien de commercial la dedans et de plus je n 'ai pas la prétention de devenir un as de la prog mai juste pouvoir faire ce petit site sympa avec les copains marins..

    Encore une fois un grand merci a vous pour votre aide et surtout votre patience...

  11. #11
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Ben "Est parfaitement équivalent" veut dire "fait la même chose". En bref, les deux blocs de code sont interchangeables.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  12. #12
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 320
    Par défaut
    donc mes 14 lignes se résume a 1 ligne le mesure pleinement le chemin qui nous sépare au niveau prog

Discussions similaires

  1. Nombre de" ; "par ligne dans un fichier CSV
    Par delilou dans le forum Développement de jobs
    Réponses: 2
    Dernier message: 25/07/2011, 15h01
  2. Nombre max de lignes dans un fichier
    Par quentennis dans le forum C
    Réponses: 3
    Dernier message: 13/05/2008, 15h00
  3. nombre de lignes dans un fichier .txt
    Par marieo dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 31/10/2007, 15h22
  4. suprimmer une ligne dans un fichier .txt
    Par Totuch dans le forum Windows Forms
    Réponses: 1
    Dernier message: 06/06/2007, 11h28
  5. nbr de lignes dans un fichier txt
    Par ibtisss dans le forum Langage
    Réponses: 3
    Dernier message: 04/11/2005, 15h09

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