Comparaison variable avec fichier texte (PHP)

Résolu
Nonow -  
Yvan64 Messages postés 24 Date d'inscription   Statut Membre Dernière intervention   -
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
 
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
Nonow
 
Je voudrais le faire sur l'ensemble du fichier texte, comment je peux faire cela ?
0
Utilisateur anonyme
 
...
0
Nonow
 
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
 
$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
Nonow
 
Merci ahmet0851 , je vais tester ça et je te dis ^^
0
Utilisateur anonyme
 
ça roule !
0

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

Posez votre question
Nonow
 
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
 
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
Nonow
 
Merci beaucoup ahmet0851, ca marche impécable et c'est tout à fait ce que je voulais ^^

Encore merci ;)
0
Utilisateur anonyme
 
J'aurais fait un heureux ^^

De rien =)
0
Nonow
 
Ah oui pour être heureux, je suis heureux !!!
0
Nonow
 
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
 
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
Nonow
 
<a href=" ton_url" target="_blank"> Mon Site </a>
0
Nonow
 
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
 
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
Nonow
 
Merci ^^

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

Ecnore merci ;)
0
Yvan64 Messages postés 24 Date d'inscription   Statut Membre Dernière intervention  
 
....
0