/**
* @function 动态的设置env文件中某项配置值
* @param $env_path string env文件路径
* @param $key string 配置项
* @param $val string|int 配置值
* @return bool 返回是否成功修改
* @other 如果env文件中没有这$key这一项,会在env文件末尾追加
*/
function setEnvVal($env_path, $key, $val) {
//获取数据
$env_content = @file($env_path);
$env_data = preg_grep("/^#" . $key . "=|^" . $key . "=/", $env_content);
$old_value = $env_data ? preg_replace("/|
/", "", array_shift($env_data)) : "";
//写入数据
$new_data = $key . "=" . $val;
if($old_value) {
$regex = "/^" . preg_quote($old_value, "/") . "/m";
return (bool) @file_put_contents($env_path, preg_replace($regex, $new_data, implode($env_content, "")));
}
return (bool) @file_put_contents($env_path, PHP_EOL . $new_data, FILE_APPEND);
}
//调用
$set_env_res = setEnvVal("env_path", "key", "val");
/**
* @function 动态的设置env文件中某项配置值
* @param $env_path string env文件路径
* @param $key string 配置项
* @param $val string|int 配置值
* @return bool 返回是否成功修改
* @other 如果env文件中没有这$key这一项,会在env文件末尾追加
*/
function setEnvVal($env_path, $key, $val) {
//获取数据
$env_content = @file($env_path);
$env_data = preg_grep("/^#" . $key . "=|^" . $key . "=/", $env_content);
$old_value = $env_data ? preg_replace("/|
/", "", array_shift($env_data)) : "";
//写入数据
$new_data = $key . "=" . $val;
if($old_value) {
$regex = "/^" . preg_quote($old_value, "/") . "/m";
return (bool) @file_put_contents($env_path, preg_replace($regex, $new_data, implode($env_content, "")));
}
return (bool) @file_put_contents($env_path, PHP_EOL . $new_data, FILE_APPEND);
}
//调用
$set_env_res = setEnvVal("env_path", "key", "val");
/**
* @function 动态的设置env文件中某项配置值
* @param $env_path string env文件路径
* @param $key string 配置项
* @param $val string|int 配置值
* @return bool 返回是否成功修改
* @other 如果env文件中没有这$key这一项,会在env文件末尾追加
*/
function setEnvVal($env_path, $key, $val) {
//获取数据
$env_content = @file($env_path);
$env_data = preg_grep("/^#" . $key . "=|^" . $key . "=/", $env_content);
$old_value = $env_data ? preg_replace("/|
/", "", array_shift($env_data)) : "";
//写入数据
$new_data = $key . "=" . $val;
if($old_value) {
$regex = "/^" . preg_quote($old_value, "/") . "/m";
return (bool) @file_put_contents($env_path, preg_replace($regex, $new_data, implode($env_content, "")));
}
return (bool) @file_put_contents($env_path, PHP_EOL . $new_data, FILE_APPEND);
}
//调用
$set_env_res = setEnvVal("env_path", "key", "val");
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 »
PHP实现动态修改.env文件配置(适用于任何框架)