删除行与值不匹配。 (PHP)

时间:2018-04-06 09:12:51

标签: php file file-handling

文本文件的内容(test.txt):

115.5.108.249 2015-03-01
118.110.6.87 2018-01-03
36.120.105.13 2018-04-06

我熟悉以下内容:

$fname = "test.txt";
$date  = date("Y-m-d");
$lines = file($fname);
foreach ($lines as $line) {
    if (!strstr($line, $date)) {
        $out .= $line;
    }
}

$f = fopen($fname, "w");
fwrite($f, $out);
fclose($f);

此命令仅删除包含当前服务器历史记录和日期($ date)的行。我希望这个命令反向运行。行清理程序,其历史记录(日期)是旧的,与当前服务器日期(运行PHP的服务器)不匹配。我希望你明白我的意思。请帮助我。

1 个答案:

答案 0 :(得分:0)

您只需从条件中移除!即可将其反转:

foreach ($lines as $line) {
    if (strstr($line, $date)) { //change this condition
        $out .= $line;
    }
}
相关问题