Lecture de fichier

Lecture de fichier - PHP - Programmation

Marsh Posté le 06-05-2012 à 15:58:15    

Bonjour,
Je cherche un moyen de lire un fichier en php avec une contrainte : que les premières lignes soient "analysées". Je m'explique :
 
Par exemple, mon fichier (.txt) contient ceci :

title: Ceci est mon titre
date: 06 mai 2012
Ceci est mon texte blabla blabla blabla blabla blabla ...


Maintenant, je voudrais que ce qu'il a après "title: " soit récupéré dans une variable, idem pour "date: " et idem pour le reste du fichier.
En gros au final, je veux récupérer une variable $titre, $date, $corpsdutexte.
J'ai pas mal cherché mais impossible de trouver autre chose que des sujets traitant de parse_ini... si quelqu'un a une idée :??:  
 
 
 
Pour info, voici les quelques lignes qui pour l'instant me permettent de simplement récupérer et afficher le contenu de chaque fichier .txt placés dans mon dossier "articles" :

Code :
  1. $directory = "./articles/";
  2.     $dir_handle = @opendir($directory) or die("Impossible d'ouvrir $directory" );
  3.     while ($file = readdir($dir_handle)) {
  4.     if(strpos($file, '.') == (int) 0 )
  5.         continue;
  6.         $filename = $directory.$file;
  7.         $fh = fopen($filename, 'r');
  8.         $theData = fread($fh, filesize($filename));
  9.         fclose($fh);
  10.         echo $theData;
  11.     }
  12.     closedir($dir_handle);


Reply

Marsh Posté le 06-05-2012 à 15:58:15   

Reply

Marsh Posté le 06-05-2012 à 18:20:47    

Le mieux serait de lire ton fichier ligne par ligne avec fgets (http://fr2.php.net/manual/fr/function.fgets.php)
 
Ensuite si ton fichier en entrée a une structure stable (champs, séparateurs), il te suffit de parser les lignes qui t'intéressent avec par exemple la fonction explode() ou substr().
 
explode te permet de spécifier un caractère de séparation (ici je pense au ':') et de spécifier en combien de sous chaines tu veux découper ta première chaine (soit ici 2 vu que tu veux récuperer tout ce qui se situe après le 1er ':')
http://fr2.php.net/manual/fr/function.explode.php
substr te permet de récuperer directement une sous chaine en spécifiant la position du 1er caractère de cette sous chaine.
http://fr2.php.net/manual/fr/function.substr.php
 
Bien entendu il existe d'autres méthodes, mais pour une approche assez simple, ces 2 méthodes peuvent faire l'affaire :)

Reply

Marsh Posté le 06-05-2012 à 18:42:05    

Merci beaucoup je vais explorer ça :jap:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed