array数组格式化[]

<?php
/**
 * @DATE:2021/3/12 0012
 * @TIME:22:12
 * @AUTHOR:sky
 * @Email:596607010@qq.com
 * @File:Syssetting.php
 **/

namespace app\admin\controller;

use think\facade\Config;
class SysSetting extends Base
{
//    public function initialize()
//    {
//        parent::initialize(); // TODO: Change the autogenerated stub
//        event('CheckAuth');
//    }
    public function index(){

        if($this->request->isPost()){
            $data=$this->request->post();
            unset($data['file']);
            $res=$this->update_config($data);
            return json($res);
        }
        $_data=Config::get('system');
        return view('index',['data'=>$_data]);
    }



    private function update_config($new_config) {
       $config_file = config_path() . 'system.php';
        if (is_writable($config_file)) {
            $config = Config::get('system');
            foreach($config as $key=>$vo){
                $list[$key] = array_merge($vo,$new_config[$key]);
            }

            file_put_contents($config_file, "<?php \nreturn " . $this->varexport($list,true) . ";", LOCK_EX);

            $res=['status'=>true,'msg'=>'设置成功'];
        } else {

            $res=['status'=>false,'msg'=>'设置失败'];
        }
        return $res;
    }

    private  function varexport($expression, $return=FALSE) {
        $export = var_export($expression, TRUE);
        $patterns = [
            "/array \(/" => '[',
            "/^([ ]*)\)(,?)$/m" => '$1]$2',
            "/=>[ ]?\n[ ]+\[/" => '=> [',
            "/([ ]*)(\'[^\']+\') => ([\[\'])/" => '$1$2 => $3',
        ];
        $export = preg_replace(array_keys($patterns), array_values($patterns), $export);
        if ((bool)$return) return $export; else echo $export;
    }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

逍遥596607010

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值