#1 Le 11/04/2008, à 15:43
- NewsUbuntu62
pd d'espace el lecture de fichier et connexion [resolu]
Bonjour,
Voila j'ai un petit problème mais je ne sais comment le résoudre.
Si je rentre UNE valeur dans un formulaire, que je la récupère dans un header pour l'enregistré dans UN fichier, si j'appelle cette valeur pour me connecter dans un simple bloc de connexion sa fonctionne.
(désavantages, si je vx me connecter il me faut 2 dossiers, un pour le login, un pour le mot de passe, si je souhaites faire plusieurs logins, il me faudrait autant de fichier qu'il y a de login, idem pour les mots de passe) .
Maintenant si j'enregistre plusieurs valeurs ligne par ligne du genre login ligne 1 et MDP ligne 2, que je récupère la ligne1 et ligne 2, pas possible de ce connecté à cause des espaces.
Voici le code :
//je récupère des noms de fichiers dans un fichier par défaut :
$monfichier = fopen("fichiers/fichierpardefaut", "r");
$ligne1 = fgets($monfichier);
$ligne2 = fgets($monfichier);
$ligne3 = fgets($monfichier);
fclose($monfichier);
//si je fait un echo pas de soucis les trois noms de fichiers s'affichent.
//Si je veux lire le contenu du fichier qui ce trouve en ligne 1 :
$monfichier2 = fopen("fichiers/$ligne1", "r");
$ligne4 = fgets($monfichier2);
fclose($monfichier2);
Mais la probléme, j'ai fait l'essaie avec un $test = 'nomdefichierdirectement'; que j'ai mit à la place de $ligne1 sa fonctionne, le pb réside au niveau des espaces.
Comment puis je résoudre ce problème ?
J'avais penser à définir un nombre de caractère en lecture, mais le soucis c'est que je suis en train de me créer un site ou je pourrait tout gérer a partir d'une administration, et que ces noms de fichiers sont définit directement à partir d'un formulaire, et que je peux aussi bien créer des fichiers avec 5 lettres que 10.
Aprés reste la solution des regex, mais la faudrait que je m'y mette sérieusement.
Si vous avez une solution toute simple, je suis tout ouïe ;)
Edit :
Le fichier d'écriture :
$fichierdef = fopen ('fichiers/fichierpardefaut', 'w');
fputs ($fichierdef, $fich1);
fputs ($fichierdef, "\n");
fputs ($fichierdef, $fich2);
fputs ($fichierdef, "\n");
fputs ($fichierdef, $fich3);
fclose($fichierdef);
Bon je viens de trouver en fouillant :
Il faut récupére la ligne ainsi : $ligne1=rtrim(fgets($monfichier));
Un rtrim et c'est ok.
Dernière modification par NewsUbuntu62 (Le 11/04/2008, à 16:32)
Hors ligne