2014-09-06 4 views
0

소프트웨어에서 사용하는 모든 설정을 가진 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'=>'[email protected]', 
    'board_enabled'=>true 
    ); 
+0

데이터베이스를 사용하여 설정을 저장하는 방법은 어떻습니까? 또는 즉시 파일을 genereate할까요? – Bobot

+1

설정이 하나의 큰 배열에 있으면 직렬화하고 파일을 쓸 수 있습니다. – hukir

+0

@ Bob0t 파일을 삭제하고 다시 만드는 것과 같은 것을 어떻게 생성합니까? –

답변

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'=>'[email protected]', 
     '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).' ?>'); 

나는 이것이 내 생각을 충분히 설명 할 수 있기를 바랍니다.

관련 문제