替换.cfg文件中的特定变量

时间:2015-10-23 11:50:02

标签: php

在我的应用程序中,我有一个.cfg文件,其中包含如下变量:

variable1=test
variable2=someOtherValue
variable3=somethingElse

我想要做的是替换这些变量的值,而不知道它们在文本文件中的位置。我希望它找到变量并替换它背后的值。像函数一样:updateVariable("variable1", "aNewValue");

我正在使用PHP。

之前很有可能会问这个问题,但我不确定在搜索引擎中查找什么

2 个答案:

答案 0 :(得分:1)

<强>功能

(Brand1 or Brand2) AND Color1

<强>用法

function updateVariable($filePath, $varName, $newValue) {
    $contents = file_get_contents($filePath);
    preg_match_all("/$varName=.+/i", $contents, $matches);
    foreach ($matches as $find) {
        $replace = $varName . '=' . $newValue . PHP_EOL;
        $contents = str_replace($find, $replace, $contents);
    }
    $fh = fopen($filePath, 'wb');
    fwrite($fh, $contents);
    fclose($fh);
}

答案 1 :(得分:0)

打开您的文件,然后使用str_replace

$mystring = fopen($filename, "wb");
$newstring = str_replace("variable1", "newvalue", $mystring);

要获取旧值(varaible1),您必须逐行搜索

foreach($lines as $line)
{
    if(strpos($line, $search) !== false)
        echo $line;

    $new_str = substr($line, ($pos = strpos($line, ',')) !== false ? $pos + 1 : 0);
}