Votre question

[résolu][PHP] rechercher une ligne dans un fichier txt

Tags :
  • Php
  • Programmation
Dernière réponse : dans Programmation
24 Février 2009 13:43:55

Bonjours à tous

Ce que je ve faire est simple mais à codé surement plus compliqué :sarcastic: 

J'ai une première page html avec un formulaire dedans
  1. <form method="post" action="plan4.php">
  2. <input name="code" type="text" size="6" />
  3. <input type="submit" value="ok">
  4. </form>


Puis là, vient le problème :D  :
Je ve que le fichier php (plan4.php), ouvre un fichier texte (txt) et recherche une ligne.

Exemple :
Si je tape dans le formulaire "LFPO"
Le fichier PHP cherche la ligne qui contient "LFPO"



Et donc que php m'affiche la ligne "France||Paris|Orly|LFPO"

Donc quel est la suite de ce code...
  1. <?php
  2. $fichier = fopen("plan/aeroport.txt","r"))
  3. .
  4. .
  5. .
  6. fclose($fichier);
  7. ?>


Merci d'avence pour vos réponses
:) 
Alexandre

Autres pages sur : resolu php rechercher ligne fichier txt

24 Février 2009 14:48:41

Bonjour,
Pour quelque chose de ce genre, une base de données (comme MySQL) serait tout à fait adaptée. Ca se ferait avec une simple requête du type "SELECT * FROM Aeroports WHERE code=$code;"
http://fr3.php.net/function.mysql-query
Maintenant, si tu n'as pas le choix de la source de données (si c'est juste un fichier texte), il y a toujours moyen de s'arranger.
Tu pourrais par exemple utiliser une expression régulière pour retrouver la ligne:
http://fr3.php.net/preg_match
http://www.regular-expressions.info/php.html
Si tu connais le nombre exact de séparateurs |, tu peux utiliser une expression du type:
"\([^|]*|){4}$code(\r)?(\n)\" (pas sur de la syntaxe: un ensemble de caractères qui ne sont pas des |, suivi d'un |, le tout reproduit 4 fois, suivi du code contenu dans la variable php $code, suivi d'un possible retour chariot, suivi d'un saut de ligne. Assez complexe quand on ne connait pas trop les regexp).
Attention à bien vérifier que ta variable contient un code et pas autre chose!
Tu peux également lire toi même le fichier en entier, puis faire une boucle sur chaque caractère: tu mets dans une variable ces caractères, et quand tu arrives à un \n, tu compares la fin du contenu de ta variable à ton $code.
Pour obtenir le contenu après le dernier |, tu pourrais te servir de la fonction strrchr (cherche la position où apparait pour la dernière fois le caractère donné) et de substr (récupère la partie de la chaine à la position donnée).
http://fr3.php.net/manual/en/function.fread.php
http://fr3.php.net/manual/en/function.strrchr.php
http://fr3.php.net/manual/en/function.substr.php

EDIT: ah, j'avais pas vu.
24 Février 2009 16:38:22

Merci quand même d'avoir pris le temps de me repondre ;) 
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS