天天看点

ThinkPHP5.0 修改配置文件函数。TP5 修改配置文件函数

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;
    }
}
           

此函数说明:

  1. 不会影响配置文件的注释或换行说明等内容
  2. 配置文件可以是扩展配置文件或数据库配置文件或TP5核心配置文件。
  3. 修改方式为数组方式,方便在控制器组装修改参数

控制器中调用方式:

$value = [
    'app_status'    => $data['app_status'],
    'closing'       => $data['closing']
];

setconfig('extra/appset',$value);
           

配置文件代码示例:

return [
    // +----------------------------------------------------------------------
    // | 基础设置
    // +----------------------------------------------------------------------
    
    // 系统状态
    'app_status'		=> '1',
    // 关闭提示
    'closing'			=> '系统升级中哦...',
];
           

继续阅读