Parser un fichier avec php

Bonjour,

ayant un niveau faible en php, j'aurais besoin d'un petit coup de main pour le parsage de mon fichier:

server= monserveur
login= monlogin
db_pass= monpass
db_name= nomdb
db_type= typebd

voila j'aimerais recuperer les informations de ce fichier texte dans des variables, et ce en utilisant les fonctions php.

quelqu'un sait comment s'y prendre? :)

merci d'avance! :)
Configuration: Linux
Firefox 1.0.7

3 réponses

  1. hop merci pour ton aide, voila ma version, ca vous parait correct? :)

    // ici on ouvre le fichier contenant les infos

    $infos_bd=fopen("monfichier","r");

    // on remplace les balises retour a la ligne par un caractère qu'on a peu de chance de rencontrer dans le texte

    str_replace("\n","£",$infos_bd);

    // on recupère ce qui se trouve entre = et £ (l'élement remplacé au dessus donc :) ) dans les variables $server,$login etc etc...

    list($server,$login,$db_pass,$db_name,$db_type)= split('[=£]',$infos_bd);

    p.s.: je commente pour que l'on puisse suivre ma demarche au cas ou :)
    0
    1. bon en fait j'ai changé de méthode, je suis passé à un développement objet (plus adapté de nos jours)
      voila donc mon fichier à l'etat final, a savoir qu'il doit pouvoir gerer une base postgreSQL ou mySQL.

      <?
      
      class parser
      {
      	/*attributs*/
      	public static $server;
      	public static $login;
      	public static $db_pass;
      	public static $db_name;
      	public static $db_type;
      	public static $db_pref;
      	public static $tabinfos;
      
      	/*constructeur*/
      
      	function parser($tabinfos)
      	{
      		$this->server=$tabinfos[0];
      		$this->login=$tabinfos[1];		
      		$this->db_pass=$tabinfos[2];
      		$this->db_name=$tabinfos[3];	
      		$this->db_type=$tabinfos[4];	
      		$this->db_pref=$tabinfos[5];
      	}
      
      	/*
      	le parser.
      	action: ouvre un fichier et recupere les infos importantes
      	*/
      	
      	function file_parser()
      	{
      
      		
      		$pointeur=fopen("../include/database","r");
      
      		if ($pointeur) 
      		{
      			/* tant qu'on est pas à la fin du fichier on avance le pointeur et on recupère tout dans $infos_bd */		    
      			while (!feof($pointeur)) 
      			{
      	 	  		$infos_bd = fgets($pointeur);
      			}
      			fclose($pointeur);
      			/*remplace la balise retour a la ligne par £ */
      			str_replace("\n","£",$infos_bd);
      			/*list($server,$login,$db_pass,$db_name,$db_type)*/
      			/*recupération des données par découpage du string*/			
      			$tabinfos= split('[=£]',$infos_bd); 
      			/*le if permettra dans la lib config de définir le prefixe a utiliser (postgreSQL ou mySQL) */
      			if ($tabinfos[4]=="mysql")
      				{
      					$tabinfos[5]="mysql";
      					return ($tabinfos);
      				}
      			else if ($tabinfos[4]=="postgreSQL";
      					{
      						$tabinfos[5]="pg";
      						return ($tabinfos);
      					}
      				/* si la donnée n'est pas valable ou non accessible, renvoie null et demande à l'utilisateur de vérifier la syntaxe du fichier*/
      				else
      					{
      						echo("les variables nécessaires sont introuvable, vérifiez la syntaxe de votre fichier(de la forme 'type=variables'");
      						return(null);
      			
      		}
      		/* si l'on a pas pu ouvrir le fichier, retourne null */
      		else
      		{
      		return (null);	
      		}			
      	}
      	
      }
      
      ?>
      


      voila, si j'ai fait une erreur ou si vous avez des questions posez les moi :)
      1

      Discussions similaires

      question pix mot caché

      7 réponses