function updateSettingsFile($config_vars)
{
global $headDir;
// В твоем случае, ты можешь просто в ней указать текущую папкку с движком, у меня же это в settings.php лежит
$headDir = 'http://localhost';
$settingsArray = file_get_contents($headDir . '/имя_файла.php');
if (strpos($settingsArray, "\n") !== false)
$settingsArray = explode("\n", $settingsArray);
elseif (strpos($settingsArray, "\r") !== false)
$settingsArray = explode("\r", $settingsArray);
else
return;
if (count($config_vars) == 1)
{
$temp = trim(implode("\n", $settingsArray));
if (substr($temp, 0, 2) != '<?' || substr($temp, -2) != '?' . '>')
return;
if (strpos($temp, 'headDir') === false)
return;
}
if (count($settingsArray) < 10)
return;
foreach ($settingsArray as $k => $dummy)
$settingsArray[$k] = strtr($dummy, array("\r" => '')) . "\n";
for ($i = 0, $n = count($settingsArray); $i < $n; $i++)
{
if (substr($settingsArray[$i], 0, 1) != '$')
continue;
$settingsArray[$i] = trim($settingsArray[$i]) . "\n";
foreach ($config_vars as $var => $val)
{
if (strncasecmp($settingsArray[$i], '$' . $var, 1 + strlen($var)) == 0)
{
$comment = strstr(substr($settingsArray[$i], strpos($settingsArray[$i], ';')), '#');
$settingsArray[$i] = '$' . $var . ' = ' . $val . ';' . ($comment == '' ? '' : "\t\t" . rtrim($comment)) . "\n";
unset($config_vars[$var]);
}
}
if (substr(trim($settingsArray[$i]), 0, 2) == '?' . '>')
$end = $i;
}
if (empty($end) || $end < 10)
$end = count($settingsArray) - 1;
if (!empty($config_vars))
{
if (trim($settingsArray[$end]) == '?' . '>')
$settingsArray[$end++] = '';
else
$end++;
foreach ($config_vars as $var => $val)
$settingsArray[$end++] = '$' . $var . ' = ' . $val . ';' . "\n";
$settingsArray[$end] = '?' . '>';
}
else
$settingsArray[$end] = trim($settingsArray[$end]);
if (count($settingsArray) < 12)
return;
$fp = @fopen($headDir . '/settings.php', 'w');
if ($fp)
{
fclose($fp);
$fp = fopen($headDir . '/settings.php', 'r+');
foreach ($settingsArray as $line)
fwrite($fp, strtr($line, "\r", ''));
fclose($fp);
}
}
Использование:
$vars = array('dbHost' => $_POST['db_host'],
'dbLogin' => $_POST['db_login']
_и так далее_ );
updateSettingsFile($vars);