MS-DOS_1991 www.newbie-project.net | Bonjour,
Je commence à en avoir marre alors voici la situation : j'ai un fichier config.class.php contenant une classe Config dont un tableau clés => valeurs que je veux mettre à jour avec des données issues d'un formulaire Le fichier en question (en gros):
Code :
- <?php
- /***********************************************************************
-
- .....
-
- ************************************************************************/
- // Config class : contains all the directory's configuration
- // Provides methods to access and edit the info "in real time"
- class Config
- {
- //private static $app_prefix;
- private static $info = array('url_to_home' => 'http://test.tld/',
- 'use_gzip' => true,
- 'gzip_compression_level' => 5,
- 'encoding' => 'iso-8859-1',
- 'name' => 'a name',
- 'description' => 'a description',
- 'keywords' => 'some keywords',
- 'websites_by_page' => 15,
- 'theme_folder' => 'default',
- 'version' => '1.2'
- );
- public function get ($info)
- {
- return (isset(self::$info[$info])) ? self::$info[$info] : false;
- }
- ...
- }
- ?>
|
Donc je fais un truc comme ça :
Code :
- $config_content = file_get_contents(CLASS_PATH.'config.class.php');
- $keys_to_update = array('strings' => array('url_to_home',
- 'encoding',
- 'name',
- 'description', 'keywords',
- 'theme_folder')
- 'integers' => array('use_gzip',
- 'gzip_compression_level')
- );
- foreach ($keys_to_update['strings'] AS $key)
- {
- if (isset($_POST[$key]) && (string)Config::get($key) != htmlentities(stripslashes($_POST[$key])))
- preg_replace("!'$key'(\s+)=> '".Config::get($key)."'!", "'$key'\$1=> '".htmlentities(stripslashes($_POST[$key]))."'", $config_content);
- }
- foreach ($keys_to_update['integers'] AS $key)
- {
- if (isset($_POST[$key]) && (int)Config::get($key) != (int)$_POST[$key])
- preg_replace("!'$key'(\s+)=> ".Config::get($key).'!', "'$key'\$1=> ".$_POST[$key], $config_content);
- }
- echo $config_content;
|
...mais ça ne marche pas et bien qu'on entre dans les conditions ça ne remplace pas par les nouvelles valeurs Un peu d'aide serait donc la bienvenue, surtout que les regexp et moi..... ---------------
Viendez sur le Newbie-Project et essayez le Newbie-Directory (nouveau)
|