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 :

Afficher dans une boucle for le contenu de plusieurs fichiers txt


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2007
    Messages : 95
    Points : 54
    Points
    54
    Par défaut Afficher dans une boucle for le contenu de plusieurs fichiers txt
    Bonsoir,

    Dans un dossier j'ai des fichiers txt.
    Le but est d'afficher une partie du contenu de ces fichiers.

    La partie la plus importante ne fonctionne pas

    Soit les lignes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    echo" propose_par  $propose_par<br>";        //Ligne à afficher
    echo" nom_du_sondage $nom_du_sondage<br>";    //Ligne à afficher
    echo" nom_du_sondage $serie_questions<br>";    //Ligne à afficher
     
    echo'<a href="sondage.php?intro='.$fichier_txt[$i].'&fichier_questions='.$serie_questions.'">Voir le sondage </a> <br />';   //Ligne à afficher
    Affichent les valeurs du même fichier (indice 0)


    Pourtant la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo $ligne_intro[$Nb_ligne_intro]= $uti[1];
    affiche bien le contenu de chaque fichiers

    Script complet.
    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
     
     
    // ------------------------------- Met les fichiers dans un array
    $listfichier = array();
    if ($handle = opendir('intros'))
    {
          while (false !== ($fichiers = readdir($handle)))
          {
                if ($fichiers != "." && $fichiers != "..")
                {
                $listfichier[] = $fichiers;
                }
          }
    }
    $nb_fichier=count($listfichier);
    //___________________________________
    // ------------------------------- Affiche les fichiers
    $Nb_fichier=0;
    for($i=0;$i < $nb_fichier;$i++)
    {
    $fichiers_2="intros/$listfichier[$i]";
    $fichiers_3="$listfichier[$i]";
          if ($fichiers_3{0}!=".")
          {
          $fichier_txt[$Nb_fichier]="$fichiers_3";
          $Nb_fichier++;
          }
    }
     
    // 4 lignes pour verification
    echo" Nb_fichier $Nb_fichier <br>";
    echo"0   $fichier_txt[0] <br>";
    echo"1   $fichier_txt[1] <br>";
    echo"2   $fichier_txt[2] <br>";
     
     
    $ligne_intro = array();
    $Nb_ligne_intro=0;
    for($i=0;$i < $Nb_fichier;$i++)
    {
          $adresse_intro='intros/'.$fichier_txt[$i];
          echo" adresse_intro $adresse_intro<br>";  // echo verification
          if (!$fp = @fopen($adresse_intro, "r"))
          { echo "Fichier intro introuvable";
            exit;
          }
          while ($zuti = fgets($fp, 2000))
          {
          $uti = explode("#", $zuti);
         echo $ligne_intro[$Nb_ligne_intro]= $uti[1]; // echo verification
           $Nb_ligne_intro++;
          }
          fclose ($fp);
          echo $nom_du_sondage=trim($ligne_intro[1]);  // Echo  pour verification
          echo $propose_par=trim($ligne_intro[3]);      // Echo  pour verification
          echo $presentation_courte=trim($ligne_intro[4]); // Echo  pour verification
          echo $serie_questions=trim($ligne_intro[15]);    // Echo  pour verification
     
          echo" propose_par  $propose_par<br>";        //Ligne à afficher
          echo" nom_du_sondage $nom_du_sondage<br>";    //Ligne à afficher
          echo" nom_du_sondage $serie_questions<br>";    //Ligne à afficher
     
          echo'<a href="sondage.php?intro='.$fichier_txt[$i].'&fichier_questions='.$serie_questions.'">Voir le sondage </a> <br />';   //Ligne à afficher
          echo "$i <br>"; //Echo  pour verification
    }
    //-----------------------------------
    La logique du script? est mauvaise où est l'erreur?

    merci de votre aide

  2. #2
    Membre régulier Avatar de Vicrabb
    Femme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2010
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2010
    Messages : 66
    Points : 102
    Points
    102
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    echo " propose_par  ".$propose_par."<br>";        //Ligne à afficher
    echo " nom_du_sondage ".$nom_du_sondage."<br>";    //Ligne à afficher
    echo " nom_du_sondage ".$serie_questions."<br>";    //Ligne à afficher
    Essaye ceci pour voir? Sinon, il va falloir vérifier si tu as bien fait les bonnes concaténations dans ton script (je remarque que tu fais du "blaba $variable" mais je ne sais pas si c'est cela qui pose problème).

    Symfony par une débutante - Elgg - PHP

    Je suis peut-être diplômée en archéologie mais je ne fouille pas le net pour décrypter le langage SMS, pour lire du code sans la balise du même nom..
    "The cake is lie" - Doug Rattman, Portal

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Tu dois écrire sous cette forme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo" propose_par ".$propose_par."<br>";        //Ligne à afficher

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2007
    Messages : 95
    Points : 54
    Points
    54
    Par défaut
    Bonsoir,

    Merci mauriser, merci Vicrabb, pour votre aide.
    L'erreur venait du fait que je ne remettais pas à 0 l'indice du tableau "$ligne_intro" avant chaque incrémentation de la boucle for.

    En dessous du for il fallait mettre $ligne_intro=0;
    le bout de code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    ................
    $ligne_intro = array();
    for($i=0;$i < $Nb_fichier;$i++)
    {
          $Nb_ligne_intro=0;
          $adresse_intro='intros/'.$fichier_txt[$i];
    .........................
    Merci

Discussions similaires

  1. [Batch] Contenu d'un fichier texte dans une boucle for
    Par jedjej dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 21/11/2014, 14h26
  2. Réponses: 2
    Dernier message: 03/10/2014, 11h33
  3. Réponses: 12
    Dernier message: 16/04/2014, 10h47
  4. [batch] incrémentation dans une boucle for
    Par bart64 dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 08/09/2004, 20h05
  5. Réponses: 3
    Dernier message: 06/07/2004, 10h21

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