+ Répondre à la discussion
Affichage des résultats 1 à 9 sur 9
  1. #1
    Débutant
    Homme Profil pro
    Développeur Web
    Inscrit en
    octobre 2006
    Messages
    1 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : octobre 2006
    Messages : 1 121
    Points : 640
    Points
    640

    Par défaut Lire un fichier txt par la fin

    Bonjour,

    J'arrive à le lire du début vers la fin mais pas l'inverse.
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?php
    $fp = fopen("logs/log.txt","r"); 
    $page = "";
    while (!feof($fp))
    {
    		 $page .= fgets($fp, 4096);
    		 $page .= "<br>";
    }
    echo $page;
    ?>
    Comment faire l'inverse?

    Merci
    Évènements dans le 06?
    www.sortir06.com

  2. #2
    regseb
    Invité(e)

    Par défaut

    Je ne crois pas qu'il existe de méthode pour lire un fichier à l'envers.

    Mais le code suivant affiche le fichier inversé :
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    $fp = fopen ('logs/log.txt','r');
    $page = '';
    while (!feof ($fp))
        $page = fgets ($fp, 4096) . $page . '<br />';
    fclose ($fp);
    echo $page;
    ?>

  3. #3
    Débutant
    Homme Profil pro
    Développeur Web
    Inscrit en
    octobre 2006
    Messages
    1 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : octobre 2006
    Messages : 1 121
    Points : 640
    Points
    640

    Par défaut

    Citation Envoyé par regseb Voir le message
    Je ne crois pas qu'il existe de méthode pour lire un fichier à l'envers.

    Mais le code suivant affiche le fichier inversé :
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    $fp = fopen ('logs/log.txt','r');
    $page = '';
    while (!feof ($fp))
        $page = fgets ($fp, 4096) . $page . '<br />';
    fclose ($fp);
    echo $page;
    ?>
    Ce code ne fonctionne pas.
    Il affiche le fichier de haut en bas et non pas de bas en haut...
    Évènements dans le 06?
    www.sortir06.com

  4. #4
    regseb
    Invité(e)

    Par défaut

    Citation Envoyé par afrodje Voir le message
    Ce code ne fonctionne pas.
    Il affiche le fichier de haut en bas et non pas de bas en haut...
    J'avais fait une erreur dans le script, il faut inverser '<br />' et $page.
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    $fp = fopen ('logs/log.txt','r');
    $page = '';
    while (!feof ($fp))
        $page = fgets ($fp, 4096) . '<br />' . $page;
    fclose ($fp);
    echo $page;
    ?>
    Pour être plus clair, si le fichier contient :
    tu veux afficher :

  5. #5
    Expert Confirmé
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    août 2006
    Messages
    2 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : août 2006
    Messages : 2 761
    Points : 3 723
    Points
    3 723

    Par défaut

    Vite fait, sans tester, j'aurais bien fait un truc de ce genre :

    Code :
    1
    2
    $lines = array_reverse( file ('logs/log.txt', FILE_TEXT) );
    foreach($lines as $line) print $line;
    • Avant de poser une question, n'hésitez pas à chercher dans la FAQ et les forums
    • Merci d'utiliser les balises de code (# dans l'éditeur)
    • N'oubliez pas de vous servir des boutons , et

    S.N.A.F.U

  6. #6
    Débutant
    Homme Profil pro
    Développeur Web
    Inscrit en
    octobre 2006
    Messages
    1 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : octobre 2006
    Messages : 1 121
    Points : 640
    Points
    640

    Par défaut

    Citation Envoyé par regseb Voir le message
    J'avais fait une erreur dans le script, il faut inverser '<br />' et $page.
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    $fp = fopen ('logs/log.txt','r');
    $page = '';
    while (!feof ($fp))
        $page = fgets ($fp, 4096) . '<br />' . $page;
    fclose ($fp);
    echo $page;
    ?>
    Pour être plus clair, si le fichier contient :
    tu veux afficher :
    Cela fonctionne.

    Citation Envoyé par s.n.a.f.u Voir le message
    Vite fait, sans tester, j'aurais bien fait un truc de ce genre :

    Code :
    1
    2
    $lines = array_reverse( file ('logs/log.txt', FILE_TEXT) );
    foreach($lines as $line) print $line;
    Il n'y a rien qui s'affiche...


    Merci en tout ca à vous 2.
    Évènements dans le 06?
    www.sortir06.com

  7. #7
    Expert Confirmé
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    août 2006
    Messages
    2 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : août 2006
    Messages : 2 761
    Points : 3 723
    Points
    3 723

    Par défaut

    Citation Envoyé par afrodje Voir le message
    Il n'y a rien qui s'affiche...
    Tu as essayé de modifier le code (au moins le nom du fichier), parce que s'il est vrai que j'ai fais ça à la va vite sur un passage éclair, je pense toujours que ma solution est correcte, au moins sur le plan fonctionnel.
    • Avant de poser une question, n'hésitez pas à chercher dans la FAQ et les forums
    • Merci d'utiliser les balises de code (# dans l'éditeur)
    • N'oubliez pas de vous servir des boutons , et

    S.N.A.F.U

  8. #8
    Invité de passage
    Inscrit en
    juin 2009
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : juin 2009
    Messages : 1
    Points : 1
    Points
    1

    Par défaut

    s.n.a.f.u je viens de tester ton code dans mon programme et il marche très bien. Merci ça fait quelques jours que j'essayais d'arriver à ce résultat =)

  9. #9
    Débutant
    Homme Profil pro
    Développeur Web
    Inscrit en
    octobre 2006
    Messages
    1 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : octobre 2006
    Messages : 1 121
    Points : 640
    Points
    640

    Par défaut

    Citation Envoyé par s.n.a.f.u Voir le message
    Tu as essayé de modifier le code (au moins le nom du fichier), parce que s'il est vrai que j'ai fais ça à la va vite sur un passage éclair, je pense toujours que ma solution est correcte, au moins sur le plan fonctionnel.
    Exact.
    Il me manque tout simplement un $lines = array();
    Évènements dans le 06?
    www.sortir06.com

+ Répondre à la discussion
Cette discussion est résolue.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •