Bonsoir à tous ,

J'ai un soucis concernant la lecture d'un fichier ,je travaille sur un projet à mon lycée qui est sur un serveur TFS et je souhaiterai externaliser les paramétres dans un fichier txt mais je débloque déjà rien qu'a l'ouverture du fichier pour le lire. Voici mon code :


/**
 * Fonction qui ramène les paramètres de connexion du fichier connexion.txt 
 * @param int $index
 * @return string
 */
    pub![](null)lic function getChemin($index){
        $monfichier = fopen('connexion.txt', 'r');
        $i=0;
        while($i<$index){
            $valeur = fgets($monfichier);
            $i++;
        }
        fclose($monfichier);
        return $valeur;
    }

à mon avis cela vient du placement du fichier txt dans la hiérarchie du dossier car voici mes erreur et je vois pas trous ou le placer car je l'aie mis dans le dossier de mon projet

et voici l'adresse du répertoir ou je l'aie stocké :

C:\Users\Terni\Documents\Workspace\GSBG02

J'ai essayé meme en le mettant dans le dossier include ou ce trouve le fichier class.pdo... mais rien n'a faire si quelqu'un aurait une solution pour résoudre mon probléme ou une autre facon d'externaliser mes paramétres de connexion plus intéressante je suis preneur meme si j'aimerai avoir la solution à ce probléme.

Merci d'avance à tous

2 réponses


Essaye de mettre le chemin de ton fichier en absolu au lieu de le mettre en relatif. Si ça marche toujours pas essaye de refaire ta fonction, pas forcément dans une classe mais juste dans un fichier php normal et voit ce que ça donne en mettant ton fichier connexion.txt dans le même dossier que la page .php où se trouve ta fonction
NB1 : Utilise plutôt un for pour faire ta boucle pour récupérer les données, c'est plus adapté (while => boucle quand tu connais pas l'index de fin, for quand tu connais l'index de fin)
NB2 : stocker ses informations de connexion dans un fichier txt n'est pas super sécurisé, il faudrait penser à protéger ton dossier

seb2913
Auteur

Merci pour ta reponse

Je vais tester ça se soir ou demain et je te tiendrais au courant car là je ne peux pas actuellement