我知道这个问题问多次,但几乎所有的答案,告诉save in db
或$this->config->set_item
。
但是这些问题的答案并不适用于我。 我不是做一个网站,但一个开源项目和安装脚本的工作对非技术人员,这将安装在安装过程中的每一件事情的用户。 为此,我需要在以后的安装和形式管理面板中更新与用户特定设置的配置文件,如果用户需要。
在DB显然节省了不适用的,因为我甚至需要通过安装脚本写在配置文件数据库凭据。 $this->config->set_item
也不适用,因为它只能为当前会话,我要永久设置。
现在我正在创建配置文件模板和更新变量存在的想法。 是否达到要求,正确的方式? 在这里再次另外一个问题,如果用户更改从管理面板(说数据库凭据)一些设置,变化不会立即反映。 有任何解决方法或更好的解决方案是什么?
你可以只是读配置文件像* .TXT共同文件,然后解析,改变你所需要的。 例如,要更改用户名,用于连接到数据库(我不检查这个代码,它仅仅是一个例子):
$out = '';
$pattern = '$db[\'default\'][\'username\']';
$newValue = 'root';
$fileName = "application/config/database.php";
if(file_exists($fileName)) {
$file = fopen($fileName,'r+');
while(!feof($file)) {
$line = fgets($file);
if(strpos($line, $pattern) !== false){
$out = $pattern . " = '". $newValue . "'";
}else{
$out = $line;
}
}
file_put_contents($file, $out);
fclose($file);
}