par
VaN » 23 janv. 2008, 02:09
Bonsoir,
je souhaite permettre à un utilisateur (un admin) de modifier un fichier php contenant des variables servant pour le site.
J'ai bien réussi à faire ce que je souhaitais, en bidouillant, et me servant un peu de la doc, mais je ne suis pas sûr que mon script soit vraiment optimisé.
En jetant un coup d'oeil, voyez-vous des choses qui vous semblent améliorables ?
// On lit le fichier vars.php
$varsFile = file('../vars.php');
$file = '';
// On scan chaque ligne, si on trouve la variable de points, on modifie sa valeur
foreach($varsFile as $line) {
if(substr_count($line, 'points_parrain') == 1) {
$line = '$points_parrain = '.$_POST['parrain'].';'."\n";
}
if(substr_count($line, 'points_filleul') == 1) {
$line = '$points_filleul = '.$_POST['filleul'].';'."\n";
}
// on recrée de fichier ligne par ligne
$file .= $line;
}
// On ouvre le fichier vars.php en effaçant tout son contenu, on remplace son contenu, et on le ferme
$varsFile = fopen('../vars.php', 'w+');
$file = fwrite($varsFile, $file);
fclose($varsFile);
Bonsoir,
je souhaite permettre à un utilisateur (un admin) de modifier un fichier php contenant des variables servant pour le site.
J'ai bien réussi à faire ce que je souhaitais, en bidouillant, et me servant un peu de la doc, mais je ne suis pas sûr que mon script soit vraiment optimisé.
En jetant un coup d'oeil, voyez-vous des choses qui vous semblent améliorables ?
[php]// On lit le fichier vars.php
$varsFile = file('../vars.php');
$file = '';
// On scan chaque ligne, si on trouve la variable de points, on modifie sa valeur
foreach($varsFile as $line) {
if(substr_count($line, 'points_parrain') == 1) {
$line = '$points_parrain = '.$_POST['parrain'].';'."\n";
}
if(substr_count($line, 'points_filleul') == 1) {
$line = '$points_filleul = '.$_POST['filleul'].';'."\n";
}
// on recrée de fichier ligne par ligne
$file .= $line;
}
// On ouvre le fichier vars.php en effaçant tout son contenu, on remplace son contenu, et on le ferme
$varsFile = fopen('../vars.php', 'w+');
$file = fwrite($varsFile, $file);
fclose($varsFile);[/php]