thinkphp 3.2.3 动态修改conf配置文件
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',
);
(>﹏<) 完成,博主亲测可用。
thinkphp 3.2.3 动态修改conf配置文件的更多相关文章
- thinkphp5或3.2 php动态修改config配置文件永久保存
thinkphp默认的参数方法只能读取,或者动态修改不能永久修改. 这是自己摸索出来的特发出来给需要的朋友(懂的朋友别笑话,功能我自己使用是没任何问题).有些参数还是保存在配置文件方便快捷!不一定所有 ...
- Python小程序之动态修改Haproxy配置文件
需求如下: 1.动态的查询添加删除haproxy节点信息 2.程序功能:add(添加).Del(删除).Query(查询) 3.添加时实例字符串为: {'backend': 'www.oldboy. ...
- 新手学分布式-动态修改Nginx配置的一些想法
本人是分布式的新手,在实际工作中遇到了需要动态修改nginx的需求,因此写下实现过程中的想法.Nginx功能强大且灵活,所以这些权当抛砖引玉,希望可以得到大家的讨论和指点.(具体代码在 https:/ ...
- 如何做到在webpack打包vue项目后,在外部动态修改配置文件
在我们做完vue项目后,只需要执行 npm run dist 就可以轻松进行打包转测试,可是如果我们临时需要修改一些配置文件比如域名,这时候我们就有点懵逼了,那就修改了再重新打一次包? NO NO N ...
- 在WCF程序中动态修改app.config配置文件
今天在个WCF程序中加入了修改配置文件的功能.我是直接通过IO操作修改的app.config文件内容,修改后发现发现其并不生效,用Google搜了一下,在园子里的文章动态修改App.Config 和w ...
- ApacheHttpServer修改httpd.conf配置文件
转自:https://blog.csdn.net/dream1120757048/article/details/77427351 1. 安装完 Apache HTTP Server 之后,还需要修改 ...
- unknown directive "" in E:\canteen\nginx-1.16.0/conf/nginx.conf:3-------文本编辑器修改nginx配置文件的坑
nignx小白一个,今天在配置nginx的时候,理所当然的用了文本编辑器编辑并保存了一下nginx的nginx.conf配置文件,一不小心就折腾了几个钟. 保存之后就nginx -s reload一下 ...
- 修改apache配置文件去除thinkphp url中的index.php
例如你的原路径是 http://localhost/test/index.php/index/add那么现在的地址是 http://localhost/test/index/add如何去掉index. ...
- 修改apache配置文件去除thinkphp url中的index.php(转)
例如你的原路径是 http://localhost/test/index.php/index/add那么现在的地址是 http://localhost/test/index/add如何去掉index. ...
随机推荐
- Android关于listView的BaseAdapter以及getView的三级优化
1.4个重写方法的含义 自定义Adapter继承自BaseAdapter(通用适配器) getCount(); getItem(); getItemId(); getViewTypaCount() ...
- emoji哈哈哈哈
Unicode 官网上的FAQ令人发笑,啊哈哈哈 Q: What are the most popular emoji characters? Q: Do emoji characters have ...
- Mac下查看端口占用
netstat命令 netstat -an | grep 端口号 lsof命令 lsof -i:端口号
- iOS类中的属性设置背景色(统一)
unsigned int count; objc_property_t *properties = class_copyPropertyList([self class], &count); ...
- ios动态创建类Class
[Objective-C Runtime动态加载]---动态创建类Class 动态创建类Class,动态添加Class成员变量与成员函数,动态变量赋值与取值,动态函数调用等方法 a.使用objc_al ...
- CentOS安装gitlab,gerrit,jenkins并配置ci流程
CentOS安装gitlab,gerrit,jenkins并配置ci流程 By Wenbin juandx@163.com 2016/4/9 这是我参考了网上很多的文档,配置了这三个软件在一个机器上, ...
- ZooKeeper:数据模型
ZooKeeper数据模型 ZNode ZNode 分类 Stat Watcher Watcher工作原理 Watcher事件说明 Watcher注册 事件发布 示例 ZooKeeper 数据模型 整 ...
- java中 String StringBuffer StringBuilder的区别
* String类是不可变类,只要对String进行修改,都会导致新的对象生成. * StringBuffer和StringBuilder都是可变类,任何对字符串的改变都不会产生新的对象. 在实际使用 ...
- svn web页面管理svnadmin部署
1.yum install subversion 创建svn目录 mdkir -p /data/svndirroot 建立svn库 svnadmin create /data/svndirroo ...
- 【Pyrosim案例】02:简单燃烧
1 案例说明 本案例介绍一个简单的燃烧模拟. 本案例通过指定热释放率(Heat Release Rate,HRR)来定义一个500kW的燃烧火焰.利用热释放率来定义燃烧火焰在火灾安全工程中描述火焰的一 ...