如何在文件中逐字符串查找一行,并使用PHP以自定义字符串开头


How to find a line in file by string and prepend with custom string using PHP?

例如,我有一个文件users.txt,其内容如下:

user_10
user_20
user_30

我需要找到包含字符串"user_20"的行,并在其前面加上字符串"disabled"。

生成的文件应该如下所示:

user_10
disabled user_20
user_30

文件可以有大约200-600行。

我如何在PHP上做到这一点?

200-600行是非常少的。如果你只需要编辑一次,试试:

    $fr = fopen("users.txt",'r+');
    $content = "";
    while(!feof($fr)) {
        $user = fgets($fr);
        if($user == "user_20") {
          $user = "disabled ".$user;
        }
        $content.= $user;
        $content.= "'r'n";
    }
    file_put_contents("users.txt", $content);
    fclose($fr); 

替代方案:

file_put_contents($filename, str_replace('user_20',
                                         'disabled user_20',
                                         file_get_contents($filename)));