Comparaison variable avec fichier texte (PHP)

Résolu/Fermé
Nonow - 26 mai 2009 à 13:42
Yvan64 Messages postés 24 Date d'inscription mardi 26 mai 2009 Statut Membre Dernière intervention 19 mars 2010 - 26 mai 2009 à 16:08
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
A voir également:

13 réponses

Utilisateur anonyme
26 mai 2009 à 14:12
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
Je voudrais le faire sur l'ensemble du fichier texte, comment je peux faire cela ?
0
Utilisateur anonyme
26 mai 2009 à 14:21
...
0
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
Utilisateur anonyme
26 mai 2009 à 14:23
$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
Merci ahmet0851 , je vais tester ça et je te dis ^^
0
Utilisateur anonyme
26 mai 2009 à 14:25
ça roule !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
Utilisateur anonyme
26 mai 2009 à 14:39
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
Merci beaucoup ahmet0851, ca marche impécable et c'est tout à fait ce que je voulais ^^

Encore merci ;)
0
Utilisateur anonyme
26 mai 2009 à 14:47
J'aurais fait un heureux ^^

De rien =)
0
Ah oui pour être heureux, je suis heureux !!!
0
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
Utilisateur anonyme
26 mai 2009 à 15:37
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
<a href=" ton_url" target="_blank"> Mon Site </a>
0
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
Utilisateur anonyme
26 mai 2009 à 15:51
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
Merci ^^

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

Ecnore merci ;)
0
Yvan64 Messages postés 24 Date d'inscription mardi 26 mai 2009 Statut Membre Dernière intervention 19 mars 2010
26 mai 2009 à 16:08
....
0