Page 1 sur 1

[RÉSOLU] Sauvegarder variables dans un fichier config

Posté : 15 déc. 2010, 07:42
par olimart
J'essaie de sauvegarder les variables d'un formulaire dans un fichier de config, en gros les informations de connexion au serveur MySQL. (J'essaie de reproduire les étapes d'installation d'un blog sous Wordpress).

Donc j'ai mon formulaire avec mes variables et un fichier config-sample.php. Je souhaite prendre le contenu du fichier, chercher, remplacer et sauvegarder le fichier sous config.php
Voici ce que j'ai mais j'ai une erreur. Merci d'avance pour votre aide.
// Save config file
$configfilesample = '../config-sample.php';
$contents = file_get_contents($configfilesample); 
$chercher = array("wordpress", "root", "rootpassword"); 
$remplacer = array($databasename, $username, $password); 
 
$contents = preg_replace($chercher, $remplacer, $contents); 

if(file_put_contents($configfilesample, $contents); 
 echo '<p class="success">Config file saved</p>';

Re: Sauvegarder variables dans un fichier config

Posté : 15 déc. 2010, 08:27
par epommate2
Unexpected ";" on line ... ?

C'est mieux de mettre l'erreur !

Tu as oublier une parenthèse sur ton dernier "if" et à mon avis, tu a aussi oublié une accolade ouvrante.
if(file_put_contents($configfilesample, $contents)) {
 echo '<p class="success">Config file saved</p>';

Re: Sauvegarder variables dans un fichier config

Posté : 15 déc. 2010, 11:11
par stealth35
ton preg_replace n'est pas bon non plus, d'ailleurs un str_replace serait suffisant dans ton cas

Re: Sauvegarder variables dans un fichier config

Posté : 15 déc. 2010, 22:06
par olimart
Voilà où j'en suis rendu mais avec une erreur
// Save config file
$configfilesample = '../config-sample.php';
$contents = file_get_contents($configfilesample); 
$chercher = array("wordpress", "root", "rootpassword"); 
$remplacer = array($databasename, $username, $password); 
 
$contents = str_replace("wordpress", "test", $contents); 

if(file_put_contents($configfilesample, $contents)) {
 echo '<p class="success">Config file saved</p>';

Re: Sauvegarder variables dans un fichier config

Posté : 15 déc. 2010, 22:19
par xTG
Erreur qui est ?

Re: Sauvegarder variables dans un fichier config

Posté : 15 déc. 2010, 22:21
par devlop78
L'erreur est l'accolade non fermée, et la bizarrerie est les variables $chercher et $remplacer non utiliser après création. Enfin, c'est ce que te dirait n'importe quel IDE :p

Re: Sauvegarder variables dans un fichier config

Posté : 15 déc. 2010, 22:38
par olimart
L'erreur correspond au message que j'ai choisi mais la vraie raison m'est inconnue
Voici le code complet, les accolades sont bien fermées.
// Save config file
$configfilesample = '../config-sample.php';
$contents = file_get_contents($configfilesample); 
 
$contents = str_replace("wordpress", "test", $contents); 

if(file_put_contents($configfilesample, $contents)) {
 echo '<p class="success">Config file saved</p>';
}
else { // error saving config file 
  die('<p class="error">Could not save config file </p>'); 
} 

Re: Sauvegarder variables dans un fichier config

Posté : 16 déc. 2010, 01:53
par olimart
La solution qui fonctionne. Je ferme le sujet. Merci pour votre aide.
// Save config file
define('ABSPATH', dirname(dirname(__FILE__)).'/');
$configfilesample = '../config-sample.php';
$configfile = '../config.php';
$contents = file_get_contents($configfilesample); 
$chercher = array("database_name", "database_username", "database_password", "database_hostname"); 
$remplacer = array($databasename, $username, $password, $hostname); 
 
$contents = str_replace($chercher, $remplacer, $contents); 

if( ! is_writable(ABSPATH) ) {
echo '<p class="error">Insufficient privileges to write on directory. Check access privileges</p>';
}
elseif(file_put_contents($configfile, $contents)) {
 echo '<p class="success">Config file saved</p>';
}
else { // error saving config file 
  die('<p class="error">Could not save config file </p>'); 
}