TP5 修改配置文件函数
/**
* 修改配置文件
* @param string $file 配置文件名(不需要后辍)
* @param array $data 需要更新或添加的配置
* @return bool
*/
function setconfig($file,$data)
{
if (is_array($data)){
$fileurl = APP_PATH .$file.".php";
$string = file_get_contents($fileurl); //加载配置文件
foreach ($data as $key => $value) {
$pats = '/\'' . $key . '\'(.*?)\',/';
$reps = "'". $key. "'". " => " . "'".$value ."',";
$string = preg_replace($pats, $reps, $string); // 正则查找然后替换
}
file_put_contents($fileurl, $string); // 写入配置文件
return true;
}else{
return false;
}
}
此函数说明:
- 不会影响配置文件的注释或换行说明等内容
- 配置文件可以是扩展配置文件或数据库配置文件或TP5核心配置文件。
- 修改方式为数组方式,方便在控制器组装修改参数
控制器中调用方式:
$value = [
'app_status' => $data['app_status'],
'closing' => $data['closing']
];
setconfig('extra/appset',$value);
配置文件代码示例:
return [
// +----------------------------------------------------------------------
// | 基础设置
// +----------------------------------------------------------------------
// 系统状态
'app_status' => '1',
// 关闭提示
'closing' => '系统升级中哦...',
];