如何在配置文件中更改行

时间:2014-09-06 02:00:07

标签: php

我有一个名为settings.php的文件,其中包含软件使用的所有设置。问题是我需要用户能够在不编辑文件的情况下更改配置。我知道我可以使用preg_replace执行此操作,但使用“Board name”等动态设置会变得棘手。我尝试了一些似乎不起作用的东西。我现在你不打算为我编写代码,我只需要一个起点。

设置文件

$settings = array (
    'home_display'=>'home',
    'db_host'=>'localhost',
    'db_user'=>'root',
    'db_password'=>'',
    'db'=>'',
    'login_enabled'=>true,
    'signup_enabled'=>true,
    'site_name'=>'Cheesecake Portal',
    'b_url'=>'beta.cheesecakebb.org',
    'b_email'=>'symbiote@cheesecakeb.org',
    'board_enabled'=>true
    );

1 个答案:

答案 0 :(得分:0)

我的想法是即时重写文件,即使我认为这不是最好的方式,它也是一种方式。

if( file_exists($mySettingsFile) ){
    include($mySettingsFile);
}
else{
    $settings = array (         // the default settings array
        'home_display'=>'home',
        'db_host'=>'localhost',
        'db_user'=>'root',
        'db_password'=>'',
        'db'=>'',
        'login_enabled'=>true,
        'signup_enabled'=>true,
        'site_name'=>'Cheesecake Portal',
        'b_url'=>'beta.cheesecakebb.org',
        'b_email'=>'symbiote@cheesecakeb.org',
        'board_enabled'=>true
    );
}

// modifiy your settings here searching the key(s) you want to modify

// then put it in the config file
file_put_contents($mySettingsFile, '<?php '.var_export($settings).' ?>');

我希望这能说明我的想法足以帮助你。