[Résolu] Enregistrer des données modifiables dans un fichiers.

Enregistrer des données modifiables dans un fichiers. [Résolu] - PHP - Programmation

Marsh Posté le 04-01-2007 à 10:10:28    

Bonjours,
 
Je rédige actuellement un script de configuration. Et je voudrais creer un fichiers dans lequel je pourrais enregistrer les données de connexion à ma base MySql afin que les autres pages du site puissent accéder à la base de données sans que l'administrateur n'est à modifiers le code des pages. Seulement deux problèmes se posent à moi :
          J'ai essayé le script suivant :

Citation :

//On inscris le contenus des variable dans le fichier sql.
$fsql = fopen(../seam/sql.txt, "r+" ); //Ouverture du fichier
fputs($fsql, $adresse); //Début : Ecriture des informations dans le fichiers
fputs($fsql, $pseudo);
fputs($fsql, $pass);
fputs($fsql, $base); //Fin : Ecriture des informations dans le fichiers
fclose($fsql); // Fermeture du fichiers


 
1- Mais il ne veux pas ouvrir le fichier.
2- Je ne sais pas comment réutiliser les donnés enregistrés par la suite.
 
Si quelqu'un à une autre solution, je suis totalement à son écoute, car la solution que j'ai choisi, me semble finalement assez lourde.


Message édité par frg159159 le 04-01-2007 à 15:27:11
Reply

Marsh Posté le 04-01-2007 à 10:10:28   

Reply

Marsh Posté le 04-01-2007 à 11:01:55    

Pourquoi ne pas faire un petit fichier XML avec tout ca? Tu pourra vraiment faire ce que tu veux apres


Message édité par chepa_jemls le 04-01-2007 à 11:02:32
Reply

Marsh Posté le 04-01-2007 à 11:55:28    

et pourquoi tu fais pas un fichier Config.php dans lequel tu mets des variables PHP qui contiennent direct les bonnes valeurs de conf et qui sont donc directement utilisables par un script php :??:
 
ps : si ça paraît pas évident, PHP est capable de générer du code php et le stocker dans un fichier .php ;)

Reply

Marsh Posté le 04-01-2007 à 12:58:31    

1 - Il ne veut pas ouvrire le fichier? c'est à dire?
Permission denied? Surement un problème de chmod sinon vérifier le chemin.
 
2 - Voir le post de rufo, c'est de loin la solution la plus simple et aussi la plus sûr.

Reply

Marsh Posté le 04-01-2007 à 13:54:18    

Merci, rufo, je vais utiliser ta solution qui me semble simple à utiliser.
Je voulais quand même savoir. j'inclus le fichiers config.php avec include ou il faut que je fasse autrement ?


Message édité par frg159159 le 04-01-2007 à 13:54:47
Reply

Marsh Posté le 04-01-2007 à 13:55:37    

include(),require(),... Je préfére require() mais libre à toi de choisir.


Message édité par dwogsi le 04-01-2007 à 13:56:20
Reply

Marsh Posté le 04-01-2007 à 14:19:04    

ou alors un fichier .ini... qui peut être lu trés facilement pour récupérer des infos de configurations :
 
$contenu=parse_ini_file($fichier);

Reply

Marsh Posté le 04-01-2007 à 14:34:15    

chani_t a écrit :

ou alors un fichier .ini... qui peut être lu trés facilement pour récupérer des infos de configurations :
 
$contenu=parse_ini_file($fichier);


 
certes, mais faut le parser et affecter les valeurs aux variables. C'est plus long que de faire un include d'un fichier .php ;)

Reply

Marsh Posté le 04-01-2007 à 14:58:56    

rufo a écrit :

certes, mais faut le parser et affecter les valeurs aux variables. C'est plus long que de faire un include d'un fichier .php ;)


oui et non... :D... en fait la fonction récupére directement les variables ;). par contre en effet c'est un peu plus long que de faire un include.
 
En fait j'utilise cette fonction principalement parce que j'aime bien l'idée d'un fichier ini pour la configuration générale. Et puis pas besoin de syntaxe php, (certe pour claquer trois variables, c'est pas la mort). Bon il faut suivre une façon de faire, mais rien de trés compliqué.

Code :
  1. [Base de données]
  2. userbdd1=
  3. hostbdd1=localhost
  4. pwbdd1=
  5. database1=
  6. userbdd2=
  7. hostbdd2=localhost
  8. pwbdd2=
  9. database2=
  10. mailwebmaster=chani_tth@hotmail.com
  11. nomsite=JUDEC
  12. langue=fr

vla ;)

Reply

Marsh Posté le 04-01-2007 à 15:12:43    

Quel est la différence entre include() et require() ?
Pour le fichiers .ini , je ne pense pas choisir cette solution, car elle me semble un peu compliqué pour le débutant que je suis.

Reply

Marsh Posté le 04-01-2007 à 15:12:43   

Reply

Marsh Posté le 04-01-2007 à 15:21:04    

require comme son nom l'indique, retourne une erreur (fatale ? chais plus) si le fichier n'est pas présent, et donc stop le script, contrairement à include qui l'inclu s'il existe, et qui s'en passe sinon.
 
require_once est interessant.(la doc php est bien fournie ;) )

Reply

Marsh Posté le 04-01-2007 à 15:24:21    

et donc, avec in .ini, le gars malin, il télécharge ton fichier et récupère ton identifiant et ton mot de passe de connexion à la BD. C'est tip top sécurisé ton affaire là  :sarcastic:
Au moins, avec une extension php, ça risque pas d'arriver. Le mec, il va se retrouver avec un fichier plein de vide...
 
Et oui, vaut mieux utiliser require qui génère une erreur fatale si le fichier n'existe pas au contraire de include qui lève un simple warning.
Y'a aussi require_once() et include_once(), qui, comme leur nom l'indique, n'inclu qu'1 fois un fichier même s'il est inclus à d'autres endroits. Par contre, ils consomment un peu plus de temps.

Message cité 1 fois
Message édité par rufo le 04-01-2007 à 15:26:38
Reply

Marsh Posté le 04-01-2007 à 15:26:14    

Merci beaucoup à tous, vos conseilles vont me simplifier la vie pour le reste du dévellopement de mon site.

Reply

Marsh Posté le 04-01-2007 à 15:40:00    

rufo a écrit :

et donc, avec in .ini, le gars malin, il télécharge ton fichier et récupère ton identifiant et ton mot de passe de connexion à la BD. C'est tip top sécurisé ton affaire là  :sarcastic:
Au moins, avec une extension php, ça risque pas d'arriver. Le mec, il va se retrouver avec un fichier plein de vide...
...


 
ralala... meu non. tu claque un fichier config.ini.php... et vla... et pis rien ne t'empéche de protéger ces fichiers (les mettre dans un répertoires dont l'accés est limité). ;)

Reply

Sujets relatifs:

Leave a Replay

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