php 动态修改数组文件
我很多时候用数组来定义配置文件,当有候我们需要动态的修改配置文件里的数组时,可以用到下面这个函数
例如的配置文件内容:
<?php return [ 'cache' => 'false', //网站缓存 'cache_time' => '7200', //网站缓存 ];
修改配置文件里的数组的值:
/** * 修改扩展配置文件 * @param string $file 文件地地址 * @param string $key 要修改的键名 * @param string $value 修改的值 */ function changConfig($file='',$key='',$value=''){ $config_file = file_get_contents($file);//获取文件内容 //正则匹配到指定内容并替换 $pattern = "/\'\s*$key\s*'\s*=>\s*\'\s*([\w-]+)\s*\'/"; $replaceStr= "'$key' => '$value'"; $update_file = preg_replace($pattern, $replaceStr, $config_file); $res = file_put_contents($file, $update_file);//保存 return $res != false? true: false; }
使用方法:
changConfig('配置文件地址',‘要修改的键名’,'要修改为的键值');