Comparaison variable avec fichier texte (PHP)

Résolu
Bonjour,
Voici j'ai un petit soucis. Je dispose d'une variable dont la valeur est un code pris dans une liste déroulante.
Dans un fichier texte je dispose de 250 autres codes différents mais commencant toujours par les codes dde la liste déroulante.

Exemple : CODES LISTE DEROULANTE
C0002
C0003
C000Y

CODES FICHIER TEXTE
C0002JYU
C0003KI7
C000YGUY

Le problème est de savoir comment je peux faire pour extraire les lignes du fichiers texte qui commence par mon code récupéré par ma variable?

J'espere que je suis pas trop compliqué.

Merci à vous
Configuration: Linux
Firefox 3.0.1

13 réponses

  1. Salut !

    Tu peux utiliser la fonction strstr("la_chaine", "ce que tu cherches");

    Exemple strstr("C0002JYU", "C0002");
    retourne C0002JYU

    fonction strstr()=> http://fr3.php.net/strstr
    0
    1. Je voudrais le faire sur l'ensemble du fichier texte, comment je peux faire cela ?
      0
      1. ...
        0
    2. Voila un exemple (ce que j'ai vraiment):

      FICHIER TEXTE
      diplomes/D0000000242S0000400000000.png
      diplomes/D0000000242S0000800000000.png
      diplomes/D0005394790S0000400000000.png
      diplomes/D0005394790S0000800000000.png

      Code issue de la liste :

      D0000000242S

      Je veux en fait qu'il m'analyse le fichier en intégral avec le code issue de la liste et qu'il me retourne la liste de ce qu'il a trouvé. avec cet exemple je voudrais:

      $variable1 = diplomes/D0000000242S0000400000000.png
      $variable2 = diplomes/D0000000242S0000800000000.png

      PS: Le fichier texte faire 284 lignes
      0
      1. $element_liste = "D0000000242S";
        
        $fichier = fopen("file.txt", "r");
        
        if ($fichier) //si la lecture s'est bien déroulée
        {
        	//tanqu'on est pas à la fin du fichier
            while (!feof($fichier)) 
        	{ 
        		$ligne = fgets($fichier, 4096); //lit ligne par ligne 4096 octets
        		if(strstr($ligne, $element_liste))
        			echo $ligne;
            }
        	fclose($fichier);
        }
        0
    3. Merci ahmet0851 , je vais tester ça et je te dis ^^
      0
      1. ça roule !
        0
    4. Ca marche ahmet0851 !! ^ ^

      Mais un autre truc, est ce que c'est possible de mettre le résultat de chaques lignes trouvées dans des variables différentes ?
      0
      1. Oui un tableau par exemple
        <?php
        
        $i=0;
        
        $element_liste = "D0000000242S";
        
        $fichier = fopen("file.txt", "r");
        
        if ($fichier) //si la lecture s'est bien déroulée
        {
        	//tanqu'on est pas à la fin du fichier
            while (!feof($fichier)) 
        	{ 
        		$ligne = fgets($fichier, 4096); //lit ligne par ligne 4096 octets
        		if(strstr($ligne, $element_liste))
                {
        			$resultat[$i] = $ligne;
                    $i++;
                }
            }
        	fclose($fichier);
        }
        
        //j'affiche
        for($i=0; $i<count($resultat); $i++)
          echo "<B>Résultat numéro $i : </B>".$resultat[$i]."<br/>";
        
        ?>
        
        0
    5. Merci beaucoup ahmet0851, ca marche impécable et c'est tout à fait ce que je voulais ^^

      Encore merci ;)
      0
      1. J'aurais fait un heureux ^^

        De rien =)
        0
    6. Ah oui pour être heureux, je suis heureux !!!
      0
      1. un dernier petit truc (décidement) lol

        Au lieu d'afficher Resultat n°0 : ......
        Je voudrais faire un lien (car le résutat obtenu dans $resultat[$i] est un lien vers un fichier). J'ai essayé de faire plein de manip mais j'y arrive pas =S
        0
        1. Juste une question, ce que tu demandes c'est les bases en programmation Web et PHP.

          Le but du forum n'est pas de te donner les réponses mais t'aider. Je veux bien dépanner mais je ne vais pas faire tout le boulot !

          Sais-tu au moins comment fait-on un lien en HTML ? Si oui, dis moi comment tu fais ?
          0
          1. <a href=" ton_url" target="_blank"> Mon Site </a>
            0
            1. Escuse, j'avais pas bien lu, regarde comment j'ai fait

              <?php

              $i=0;

              $element_liste = $_POST['sel1'];

              $fichier = fopen("diplome2", "r");

              if ($fichier) //si la lecture s'est bien déroulée
              {
              //tanqu'on est pas à la fin du fichier
              while (!feof($fichier))
              {
              $ligne = fgets($fichier, 4096); //lit ligne par ligne 4096 octets
              if(strstr($ligne, $element_liste))
              {
              $resultat[$i] = $ligne;
              $i++;
              }
              }
              fclose($fichier);
              }

              //j'affiche
              for($i=0; $i<count($resultat); $i++)
              echo "<B>Résultat numéro $i : </B>""<a href='http://".$resultat[$i]."'>Emploi du temps de la semaine x</a><br>""<br/>";
              ?>
              0
              1. Presque.

                Ton lien donnes http://diplomes/D0000000242S0000400000000.png

                Je pense que ton dossier est à la racine du site genre www.monsite.fr/diplomes

                donc le lien est https://www.pagesjaunes.fr/

                Soit tu enlèves ton http:// ou soit tu mets le site en dur :
                echo "<B>Résultat numéro $i : </B><a href='".$resultat[$i]."'>Emploi du temps de la semaine x</a><br><br/>"; 
                
                ou 
                
                echo "<B>Résultat numéro $i : </B><a href='http://www.monsite.fr/".$resultat[$i]."'>Emploi du temps de la semaine x</a><br><br/>"; 


                0
            2. Merci ^^

              C'était le http qu'il ne fallait pas

              Ecnore merci ;)
              0