[RÉSOLU] Sauvegarder variables dans un fichier config

Eléphanteau du PHP | 16 Messages

15 déc. 2010, 07:42

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>';
Modifié en dernier par olimart le 16 déc. 2010, 01:54, modifié 1 fois.

Eléphant du PHP | 209 Messages

15 déc. 2010, 08:27

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>';
--
Eric

ViPHP
ViPHP | 5462 Messages

15 déc. 2010, 11:11

ton preg_replace n'est pas bon non plus, d'ailleurs un str_replace serait suffisant dans ton cas

Eléphanteau du PHP | 16 Messages

15 déc. 2010, 22:06

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>';

ViPHP
xTG
ViPHP | 7331 Messages

15 déc. 2010, 22:19

Erreur qui est ?

devlop78
Invité n'ayant pas de compte PHPfrance

15 déc. 2010, 22:21

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

Eléphanteau du PHP | 16 Messages

15 déc. 2010, 22:38

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>'); 
} 

Eléphanteau du PHP | 16 Messages

16 déc. 2010, 01:53

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>'); 
}