Parser un fichier avec php
rixcomm
Messages postés
3
Statut
Membre
-
rixcomm Messages postés 3 Statut Membre -
rixcomm Messages postés 3 Statut Membre -
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! :)
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! :)
A voir également:
- Parser un fichier avec php
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
3 réponses
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.
voila, si j'ai fait une erreur ou si vous avez des questions posez les moi :)
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 :)
perso je pense qu'il ne vaut mieux pas stocker ce genre de données sensibles dans un fichier txt...
il y aura trop de faille de sécu.
après fais comme tu veux...
regarde les fonctions fopen et fread sur php.net
https://www.php.net/manual/fr/function.fopen.php
il y aura trop de faille de sécu.
après fais comme tu veux...
regarde les fonctions fopen et fread sur php.net
https://www.php.net/manual/fr/function.fopen.php
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 :)
// 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 :)