@
CNCCTV 我觉得你这个通过正则处理配置文件的思路不太好,要考虑很多输入情况,正则写起来很麻烦而且不容易写正确。
把配置文件弄成一个配置数组,要读取直接 include,要写入直接 var_export,简单又可靠
function setConfig($name, $value)
{
$configPath = __DIR__ . DIRECTORY_SEPARATOR . 'config.php';
static $config;
if (is_null($config)) {
$config = include $configPath;
}
register_shutdown_function(function () use (&$config, $configPath) {
if ($fp = fopen($configPath, 'w+')) {
$content = sprintf('<?php return %s;', var_export($config, true));
fwrite($fp, $content, strlen($content));
}
});
$config[$name] = $value;
}