一些时候我们需要修改常量的定义,比如说数据库信息?网站配置信息 ?
此时我们使用正则替换的方式进行常量的修改是最为简单方便的,比如说:/*
@param 常量文件
@param 修改数组(常量名=>常量值)
@return 失败返回false 成功修改常量文件
*/
function constEdit($file, $arr)
{
$info = file_get_contents($file);
foreach ($arr as $k => $v) {
$info = preg_replace("/define\(\"{$k}\",\".*?\"\)/", "define(\"{$k}\",\"{$v}\")", $info);
}
return file_put_contents($file, $info);
}
使用此此方法只需传入对应的常量文件位置 修改的数组即可,应用场景:
此时在action.php页面只需接收$_POST 这个完整数组传入到方法中即可。
这里面需要注意的是,定义常量需使用双引号如:define("HOST","127.0.0.1");
define("DBNAME","mysql");
其次,常量的名字应该与表单中的name名字对应!