Php foreach après foreach avec autre fichier

Résolu
Bonjour,

J'utilise actuellement ce code pour lire des fichiers textes.
Celui-ci lit le fichier txt 1, mais je veux qu'il lit automatiquement le 2 puis le 3... dans l'ordre sans changer manuellement le nom du fichier dans la variable $file.
Je veux 1 seule boucle à la fois, quand la 1 est fini on passe a la 2, puis 3...

<?php
$file = file_get_contents('1.txt');
if(!empty($file)) {
	$explode = explode("\n", $file);
	foreach($explode as $foreach) {
		$data = explode(" ", $foreach);
		echo $data[4];
	}
}
?>


Merci

4 réponses

  1. Salut,

    Si tout tes fichiers en question se nomment 1, 2, 3, ... utilise une variable comme nom de fichier. tu ferai : $file = file_get_contents('$variable.txt'); dans ton "for" et tu change ce nombre à chaque boucle avec un $variable=$variable+1
    0
    1. Tu peux me montrer ce que ça donne sur le code ?
      Car là, je vois pas comment faire...
      0
    2. Peut-être quelque chose comme :

      
      $i = 1;
      while (file_exists("$i.txt"))
      {
         $file = file_get_contents("$i.txt");
         if(!empty($file)) {
      	$explode = explode("\n", $file);
      	foreach($explode as $foreach) {
      		$data = explode(" ", $foreach);
      		echo $data[4];
      	}
         }
         $i++;
      }
      
      
      0
    3. <?php 
      $nb=1 
      while($file = file_get_contents('$nb.txt')) 
      { 
              $explode = explode("\n", $file); 
       foreach($explode as $foreach) 
              { 
               $data = explode(" ", $foreach); 
        echo $data[4]; 
                      $nb=$nb+1 
              } 
      } 
      
      ?>


      Un truc comme ca quoi
      0
    4. Chacun son tour chico ^^
      0
    5. Mouahaha :p
      0
  2. essaie quelque chose comme ça
    <?php
    for($i=1;$i<10;$i++)
    {$file = file_get_contents('$i.txt');
    if(!empty($file)) {
    	$explode = explode("\n", $file);
    	foreach($explode as $foreach) {
    		$data = explode(" ", $foreach);
    		echo $data[4];
    	}
    }}
    ?>
    0
    1. Par contre tu limites a 10 le nombre de page, si ce nombre est dynamique et qu'il rajoute des pages automatiquement c'est moyen de devoir modifier le code a chaque fois :/
      0
    2. Ouai un "pour" n'est pas approprié là ^^
      J'ai l'impréssion que tout le monde post sauf le concerné là ^^
      Sggg t'es là ?
      0
    3. on peut modifier le 10 par une variable :)
      0
  3. <?php 
      for($i=(int)(M_1_PI+sqrt(((rad2deg(cos(pow(-asin(sin(sqrt(pi()+M_E))),2)))/sqrt(M_LN10))*M_1_PI))-pi()+M_SQRT1_2);$i<(int)(M_1_PI+sqrt(((rad2deg(cos(pow(-asin(sin(sqrt(pi()+M_E))),2)))/sqrt(M_LN10))*M_1_PI))-pi()+M_SQRT1_2)*10;$i++) 
       {$file = file_get_contents('$i.txt');if(!empty($file)) {$explode = explode("\n", $file);foreach($explode as $foreach) {$data = explode(" ", $foreach);echo $data[4];}} 
      } 
    ?> 
    


    chacun sa version...
    0
    1. Ptdr. Le pire c'est que ca marche, juste remplacer file_get_contents('$i.txt') par file_get_contents("$i.txt")

      Faut mettre des " sinon il n'interprète pas la variable et l'utilise comme chaine ..
      0
    2. Forcément que ça fonctionne xD
      0
  4. Merci beaucoup pour toutes ces réponses !
    C'est parfait, j'ai également beaucoup de choix (lol).
    0