Cherche une valeur dans un fichier PHP

Fermé
ApocKalipsS - 25 avril 2010 à 13:14
 Bilow - 26 avril 2010 à 22:11
Bonjour,
J'ai un fichier qui est par exemple :

truc0 8\ntruc2 8\ntruc9 1\n
Mais qui peut aussi être :

truc0 8
truc7 2
truc4 1
Mais aussi :
truc0 8truc2 8truc9 1

Et je voudrais chercher par exemple dans ce fichier si la valeur de truc0 est plus petite que 9.

if(truc0 < 9)


Mais je ne sais pas comment faire.
Help ! :)

Mais qui peut aussi être
A voir également:

9 réponses

Profil bloqué
25 avril 2010 à 13:16
bonjour,
je comprend pas très bien ta question :S ?
0
Eh bien dans un fichier j'ai ça :

Texte1 Valeur
Texte2 Valeur
Texte3 Valeur

etc

"Valeur" est un chiffre.

Mais je voudrais vérifier dans mon script PHP si dans ce fichier le Texte3 a une valeure plus petite que 9.
Comment faire ?
0
Profil bloqué
25 avril 2010 à 13:25
if($texte3<9){
echo 'plus petite que 9' ;
} else echo 'plus grand que 9' ;
0
Mihawk Messages postés 4315 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 846
25 avril 2010 à 13:31
En effet, si ton "fichier" en question est une page php, tu n'as qu'à utiliser des variables.

Si tu pars d'un fichiers texte dans lequel sont répertorié des noms et leurs valeurs, alors tu vas devoir décomposer le fichier.

Pour ça, il faut déjà que tu connaisses la syntaxe du fichiers : par exemple, ça serait mieux si c'était toujours dans l'ordre : "texte1 val1 ; texte2 val2 ..." comme ça tu pourrais utiliser la méthode "explode" qui décomposera ton texte en plein de bouts, en coupant dès qu'il trouve un symbole (une virgule, un point... au choix !).

Sinon, tu utilises les expressions régulières (regex) et la méthode preg_match() qui te permet de chercher un mot ou une expression dans un texte.

https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/916990-les-expressions-regulieres-partie-1-2
0

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

Posez votre question
Bah en fait c'est un fichier .cfg, et c'est un peu bizzare :
Quand je l'ouvre avec Bloc-Note, il n'y a pas de retour à la ligne :
text1 val1text2 val2 text3 val3

Et si je l'ouvre avec NotePad il y a un retour à la ligne :
text1 val1
text2 val2
text3 val3

Je ne sais pas pourquoi, sauriez vous m'aider ?
PS : Il n'y a pas de \n ni dans le bloc note, ni dans NotePad.
0
Mihawk Messages postés 4315 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 846
25 avril 2010 à 14:47
Est-ce toi qui le rédige ?
N'as-tu pas moyen de mettre des virgules entre chaque ?
0
Ah non en fait il y a un genre d'espace bizzare qui fait retour à la ligne. Si je le copie je peux pas le coller...
0
Mihawk Messages postés 4315 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 846
26 avril 2010 à 20:16
up : d'où sort ce fichier, tu n'as pas moyen de le modifier ?
0
Salut !

Utilise les expressions régulières...

En PHP :

$fichier = fopen("fichier.txt", "r"); // Ouverture du fichier
$phrase = fgets($fichier); // renvoi : truc0 8
$new_ph = preg_replace("#truc([0-9]+) ([0-9]+)#", "$1;$2", $phrase);
$new_ph = explode(";", $new_ph);
$truc = $new_ph[0];
$valeur_truc = $new_ph[1];

if($valeur_truc < 9){
//...
}

fclose($fichier);


Voila, je n'ai pas essayé ce code, il est possible qu'il contienne des erreurs.
Tu peut créer une boucle pour lire tout les trucs :D
Pour plus d'aide, fais le savoir...

Bye ;)
0