PHP设置配置文件的方法

变量 $config 是我们所提交过来的配置信息,是以数组形式存储的。function set_config($config){

if(!is_array($config)) return FALSE;

$configfile = CONF_PATH.'config.php';

if(!is_writable($configfile)) return('Please chmod ./config.inc.php to 0777 !');

$pattern = $replacement = array();

$str = file_get_contents($configfile);

foreach($config as $k=>$v){

$pattern[$k] = "/['\"]".strtoupper($k)."['\"]\s*=>\s*([']?)[^']*([']?)/is";

$replacement[$k] = "'".strtoupper($k)."'=> \${1}".$v."\${2}";

}

$str = preg_replace($pattern, $replacement, $str);

return file_put_contents($configfile, $str);

}

上面的$configfile 为文件的完整路径,也就是绝对路径。

通过file_get_contents文件获取配置文件的所有信息

再通过preg_replace方法把我们所修改,也是所提交过来的配置信息进行与原先的配置信息替换。

在通过file_put_contents把修改的所有信息替换了。

上面的方法不仅仅可以用在修改配置信息,还可以使用到修改任何文件

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

php配置设置,PHP设置配置文件的方法相关推荐

  1. Redhat中通过命令工具和配置文件设置TCP/IP参数的方法

    Redhat中通过命令工具和配置文件设置TCP/IP参数的方法 ①ifconfig命令 用ifconfig命令修改后重起服务配置不保存 给Eth0接口设置IP地址和子网掩码广播地址并激活:ifconf ...

  2. springmvc 项目完整示例05 日志 --log4j整合 配置 log4j属性设置 log4j 配置文件 log4j应用...

    log4j 就是log for java嘛,老外都喜欢这样子,比如那个I18n  ---internationalization  不就是i和n之间有18个字母... http://logging.a ...

  3. python文件路径改了需要重新配置环境吗_Django 设置多环境配置文件载入问题

    今天继续给大家介绍django 多环境配置的相关内容,本文重点给大家介绍Django 设置多环境配置文件载入的相关知识,一起看看吧. 起步 通常,针对不同的开发环境,需要不同的配置保证程序可运行且不干 ...

  4. 计算机配置显卡在哪里打开,显卡在哪里设置 显卡设置方法【详细介绍】

    电脑中最重要的地方就是显示了,因为电脑cpu的高度运算和计算数据都是因为显卡在一直工作,所以很好的显卡设置能让我们的电脑使用和运行上更加完美,很多人会问那么显卡在哪里设置呢,怎么设置才好呢,想知道就和 ...

  5. 怎么用计算机打吃鸡,低配电脑吃鸡优化设置 低配置电脑流畅玩吃鸡方法

    想要流畅体验绝地求生大逃杀,有一个好配置电脑可是不能少的,但是低配置电脑也是可以流畅吃鸡的哦.本期铁骨网将带来低配电脑吃鸡优化设置和低配置电脑流畅玩吃鸡解决方案,按照以下优化设置,低配置电脑也是可以流 ...

  6. 计算机更新配置卡住了,win10更新设置卡死怎么办|win10更新设置卡死的完美解决方法...

    对于win10更新设置卡死怎么办|win10更新设置卡死的完美解决方法,很多小伙伴们都有遇到过win10更新设置卡死的问题,然而很多小伙伴们对于这个问题都感到了非常的头疼,又不知道具体该怎样才能解决, ...

  7. 深度linux怎样设置显卡,在deepin stable系统中配置Intel+Nvidia双显卡的方法

    本文介绍在deepin stable操作系统中配置Intel+Nvidia双显卡的方法,deepin的stable版本目前没有nv-prime的支持,以下配置intel双显卡驱动还是挺简单的,按照步骤 ...

  8. Oracle 数据库设置最大进程数参数方法,oracle最大进程数满了处理方法,sysdba管理员登录报“maximum number of processes (150) exceeded“问题解决

    oracle 数据库使用 sysdba 管理员登录报: ORA-00020: maximum number of processes (150) exceeded 译:超过了最大进程数(150) 方法 ...

  9. Creo8.0将默认单位永久设置为公制毫米的方法

    Creo8.0将默认单位永久设置为公制毫米的方法 在绘制过程中,模型的长度单位非常重要,Creo软件中默认为英制单位(英寸),需要将默认单位改为公制(mm),但很多用户又不知道要怎么操作,下面小编给大 ...

最新文章

  1. 很高兴加入51cto——交朋友
  2. java数组怎样插入元素,Java如何在给定位置将元素插入数组?
  3. java常见_关于Java的常见误解
  4. 用于大型事件处理的Akka Java
  5. POJ-3693 Maximum repetition substring 后缀数组
  6. 在IDEA中,项目中出现红色波浪线解决办法
  7. 高级着色语言HLSL入门(2)
  8. ecshop mysql 报错_ecshop数据库操作函数
  9. iOS关于iPhone6和iPhone6 Plus的屏幕适配问题
  10. [Data]Link cut tree
  11. IKM 线上测试JavaScript
  12. jsp分页代码mysql_jsp分页(jsp分页完整代码)
  13. VM14安装CentOS7并配置网络
  14. allennlp.modules.span_extractors
  15. win7计算机不能设置双屏怎么回事,Win7系统怎么设置才能实现双屏显示?
  16. FPGA学习篇之计数器
  17. newifi mini php,NewFi(newifi mini华硕固件)
  18. 基于STM32F407四旋翼无人机---MS5611气压计(三)
  19. failed to push some refs to 'https://e.coding.net/xxx/xxx.git fetch = +refs/heads/*:refs/
  20. microapp微前端基础使用

热门文章

  1. Springmvc的静态资源映射配置
  2. 软件工程综合实践阶段小结(2)
  3. python --闭包学习
  4. PHP中把stdClass Object转array的几个方法
  5. Android 4.0的图形硬件加速及绘制技巧
  6. DELL optiplex 解决改回 AHCI蓝屏问题
  7. 培养你的核心竞争能力
  8. python3 socks.wrap_module方法 针对单个模块进行代理设置
  9. linux系统利用可执行文件的Capabilities实现权限提升
  10. shell脚本中执行 source /etc/profile 或者 source ~/.bashrc 不能生效的原因