thinkphp 3.2.3 动态修改conf配置文件
2024-10-16 15:14:13
thinkphp 3.2.3 的C()方法能修改配置文件,但是是动态修改的,没有真正的更改文件。
我查了网上网友分享的方法,都不怎么合适,我就自己摸索写了一个,配置写到text.php中,我的目录如下:
代码写到IndexController.class.php的index方法中的(是默认的控制器),代码如下:
<?php
namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller {
public function index(){ //文件路径地址
$path = 'Application/'.MODULE_NAME .'/Conf/text.php'; //thinkphp的配置文件是数组 //读取配置文件,
$file = include $path; //这里获取用户提交上来的配置文件 ,例如 'WEB_NAME' => I('web_name'), 我测试用的静态设置
$config = array(
'WEB_NAME' => 'T博客',
'WEB_AGE' => '2333',
'WEB_TITLE' => '博客管理系统'
); //合并数组,相同键名,后面的值会覆盖原来的值
$res = array_merge($file, $config); //数组循环,拼接成php文件
$str = '<?php return array('; foreach ($res as $key => $value){
// '\'' 单引号转义
$str .= '\''.$key.'\''.'=>'.'\''.$value.'\''.',';
};
$str .= '); ?>'; //写入文件中,更新配置文件
if(file_put_contents($path, $str)){
echo '保存成功!';
}else {
echo '保存失败!';
} }
}
主要是在文件路径上面弄了很久。
最后一步,载入配置文件,修改Config.php,添加一行代码:
<?php
return array(
//载入自定义配置文件text
'LOAD_EXT_CONFIG'=>'text',
);
(>﹏<) 完成,博主亲测可用。
最新文章
- macOS 我的装机
- Javascript高性能编程-提高数据访问速度
- [.net 面向对象程序设计深入](3)UML——在Visual Studio 2013/2015中设计UML活动图
- CCF——Z字形扫描问题
- Android四大组件之Activity &; Fragement
- IBatis 批量插入数据
- 全局对象的构造函数会在main 函数之前执行
- VC++ operate excel
- SQLite入门与分析(七)---浅谈SQLite的虚拟机
- JNA入门实例
- 採集和输出 DeckLink Studio 4K
- libimobiledevice命令
- spring boot 登录注册 demo (四) -- 体验小结
- Spring Boot初探之restful服务发布
- (一)jdk8学习心得之遍历
- .net core ef 通过dbfirst方式连接mysql数据库
- H5的缓存 manifest
- case insensitive in php
- 165. Compare Version Numbers (String)
- Linux内核分析第三周总结
热门文章
- 详解Paint的setXfermode(Xfermode xfermode)
- HTML5之新增的元素
- Oracle数据行拆分多行
- 5-3 bash脚本编程之二 条件判断
- android 设颜色透明值
- 【FLUENT案例】06:与EDEM耦合计算
- JavaSript模块规范 - AMD规范与CMD规范介绍
- Neural Pathways of Interaction Mediating the Central Control of Autonomic Bodily State 自主神经系统-大脑调节神经通路
- iOS 解决LaunchScreen中图片加载黑屏问题
- [LeetCode] Count of Smaller Numbers After Self 计算后面较小数字的个数